{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 因子排序策略实现\n",
    "\n",
    "https://www.pybroker.com/zh-cn/latest/notebooks/7.%20Creating%20a%20Custom%20Data%20Source.html"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<diskcache.core.Cache at 0x23c64eb16d0>"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pybroker\n",
    "from pybroker.ext.data import AKShare\n",
    "from pybroker import ExecContext, StrategyConfig, Strategy\n",
    "from pybroker.data import DataSource\n",
    "import matplotlib.pyplot as plt\n",
    "from datetime import datetime\n",
    "import riskfolio as rp\n",
    "import akshare as ak\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import sqlite3\n",
    "import datetime\n",
    "\n",
    "import talib\n",
    "from pybroker.vect import cross\n",
    "\n",
    "#正常显示画图时出现的中文和负号\n",
    "from pylab import mpl\n",
    "\n",
    "mpl.rcParams['font.sans-serif']=['SimHei']\n",
    "mpl.rcParams['axes.unicode_minus']=False\n",
    "\n",
    "akshare = AKShare()\n",
    "\n",
    "pybroker.enable_data_source_cache('akshare')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 本地数据的策略使用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "conn=sqlite3.connect(r'I:\\量化金融\\stock_2018.db')\n",
    "stock_daily0=pd.read_sql(\"select * from stock_daily where 股票代码>'003000.SZ'\",con=conn)\n",
    "stock_daily0[\"交易日期\"]=pd.to_datetime(stock_daily0[\"交易日期\"].astype(str))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#stock_daily0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2018-01-02 00:00:00')"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0[\"交易日期\"].min()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-02-17 00:00:00')"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0[\"交易日期\"].max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "pyb_data_pe=stock_daily0[[\"交易日期\",\"股票代码\",\"开盘价\",\"最高价\",\"最低价\",\"收盘价\",\"成交量(手)\",\"市盈率(静态)\"]]\n",
    "pyb_data_pe.columns=[\"date\",\"symbol\",\"open\",\"high\",\"low\",\"close\",\"volume\",\"pe\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def trying_strategy_pe(ctx: ExecContext):\n",
    "    high = ctx.high[-11:-1].max()\n",
    "    low = ctx.low[-11:-1].min()\n",
    "    #print(ctx.pe[-1])\n",
    "\n",
    "    if not ctx.long_pos() and ctx.close[-1] > high and ctx.pe[-1] > 150:\n",
    "        ctx.buy_shares = ctx.calc_target_shares(0.5)\n",
    "    \n",
    "    if ctx.long_pos() and ctx.close[-1] < low:\n",
    "        ctx.sell_all_shares()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backtesting: 2018-02-22 00:00:00 to 2023-02-10 00:00:00\n",
      "\n",
      "Test split: 2018-02-22 00:00:00 to 2023-02-10 00:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0% (0 of 1207) |                       | Elapsed Time: 0:00:00 ETA:  --:--:--\n",
      "  2% (31 of 1207) |                      | Elapsed Time: 0:00:00 ETA:   0:00:01\n",
      "  9% (111 of 1207) |#                    | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 19% (231 of 1207) |####                 | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 25% (311 of 1207) |#####                | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 29% (361 of 1207) |######               | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 34% (421 of 1207) |#######              | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 42% (511 of 1207) |########             | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 51% (621 of 1207) |##########           | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 58% (711 of 1207) |############         | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 68% (831 of 1207) |##############       | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 73% (891 of 1207) |###############      | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 77% (941 of 1207) |################     | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 86% (1041 of 1207) |#################   | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 91% (1101 of 1207) |##################  | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      " 99% (1201 of 1207) |################### | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      "100% (1207 of 1207) |####################| Elapsed Time: 0:00:00 Time:  0:00:00\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Finished backtest: 0:00:05\n"
     ]
    }
   ],
   "source": [
    "pybroker.register_columns('pe')\n",
    "strategy = Strategy(pyb_data_pe, '2018-02-22', '2023-02-10')\n",
    "strategy.add_execution(trying_strategy_pe, pyb_data_pe.symbol.unique()[100:120])\n",
    "result = strategy.backtest(warmup=15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>trade_count</td>\n",
       "      <td>42.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>initial_market_value</td>\n",
       "      <td>100000.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>end_market_value</td>\n",
       "      <td>128756.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>total_pnl</td>\n",
       "      <td>19031.60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>unrealized_pnl</td>\n",
       "      <td>9724.41</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   name      value\n",
       "0           trade_count      42.00\n",
       "1  initial_market_value  100000.00\n",
       "2      end_market_value  128756.01\n",
       "3             total_pnl   19031.60\n",
       "4        unrealized_pnl    9724.41"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.metrics_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='date'>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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l7/QgAEDxPWjR49SzZo1RZDCQcvZs2fF/UFBQeLi6+srsjo1atSQv9/GjRvJz8+P3n77bZHR4YDoueeec9FPBwDVBcENALitGzduUL169eTbjRo1Eh+9vb1FNmbp0qXUsGFDqlu3LpWUlFT5/a5fv05paWkiKJIyQNnZ2XTv3j3spAygIQhuAMBtxcTEUEpKinz76tWr4uPu3btpyZIldPr0afE5P/zwAx05csTgazkA0ul0BvclJCRQu3bt6N///re4zeNcc8PZHADQDtTcAIDb6tOnD505c4a++OILunjxopiWYpxtYTwdxYXFr7zySoVAhrM8O3fuFNmf7du3i8wOT2lxgPTzzz+Lqat169ZRv379KnwtAKgbghsAcFucaVm5ciW988479Mgjj4giYcYBCV8efPBBsRKKa3I4w8MFyJLp06eLgKh+/fric3gKiutvvvvuO5o7d66Yzlq7dq24zfU5AKAdXjqcsgAAAICGIHMDAAAAmoLgBgAAADQFwQ0AAABoCoIbAAAA0BQENwAAAKApCG4AAABAUxDcAAAAgKYguAEAAABNQXADAAAAmoLgBgAAADQFwQ0AAACQlvw/FjYk60114woAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "result.portfolio.equity.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 用沪深300作为对比基准\n",
    "\n",
    "* ak.index_zh_a_hist 获取沪深300的指数历史数据的方法并作图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f6c12c194414463ebffb998515b68edd",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/16 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                 开盘       收盘       最高       最低        成交量           成交额    振幅  \\\n",
      "日期                                                                              \n",
      "2018-02-22  4020.97  4052.73  4058.79  4009.92  105811571  1.383344e+11  1.23   \n",
      "2018-02-23  4061.75  4071.09  4085.20  4035.23   99458747  1.281958e+11  1.23   \n",
      "2018-02-26  4093.40  4118.42  4128.74  4048.98  137881001  1.790131e+11  1.96   \n",
      "2018-02-27  4120.87  4058.98  4120.87  4051.81  125934469  1.696849e+11  1.68   \n",
      "2018-02-28  4016.79  4023.64  4051.71  3991.71  109343593  1.524939e+11  1.48   \n",
      "...             ...      ...      ...      ...        ...           ...   ...   \n",
      "2023-02-06  4103.83  4086.88  4105.94  4065.22  110192717  2.263451e+11  0.98   \n",
      "2023-02-07  4098.31  4094.23  4107.34  4077.96   91360072  1.835374e+11  0.72   \n",
      "2023-02-08  4099.86  4076.14  4111.47  4072.65   84786099  1.705918e+11  0.95   \n",
      "2023-02-09  4067.56  4130.86  4130.86  4064.75  102289961  2.117226e+11  1.62   \n",
      "2023-02-10  4124.10  4106.31  4125.29  4092.35   96716733  1.953483e+11  0.80   \n",
      "\n",
      "             涨跌幅    涨跌额   换手率  \n",
      "日期                             \n",
      "2018-02-22  2.16  85.77  0.32  \n",
      "2018-02-23  0.45  18.36  0.30  \n",
      "2018-02-26  1.16  47.33  0.42  \n",
      "2018-02-27 -1.44 -59.44  0.39  \n",
      "2018-02-28 -0.87 -35.34  0.33  \n",
      "...          ...    ...   ...  \n",
      "2023-02-06 -1.32 -54.75  0.34  \n",
      "2023-02-07  0.18   7.35  0.28  \n",
      "2023-02-08 -0.44 -18.09  0.26  \n",
      "2023-02-09  1.34  54.72  0.31  \n",
      "2023-02-10 -0.59 -24.55  0.30  \n",
      "\n",
      "[1207 rows x 10 columns]\n"
     ]
    }
   ],
   "source": [
    "index_zh_a_hist_df = ak.index_zh_a_hist(symbol=\"000300\", period=\"daily\", start_date=\"20180222\", end_date=\"20230210\")\n",
    "index_zh_a_hist_df[\"日期\"]=pd.to_datetime(index_zh_a_hist_df[\"日期\"])\n",
    "index_zh_a_hist_df.set_index(\"日期\",inplace=True)\n",
    "print(index_zh_a_hist_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 177,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2018-02-22', '2018-02-23', '2018-02-26', '2018-02-27',\n",
       "               '2018-02-28', '2018-03-01', '2018-03-02', '2018-03-05',\n",
       "               '2018-03-06', '2018-03-07',\n",
       "               ...\n",
       "               '2023-01-30', '2023-01-31', '2023-02-01', '2023-02-02',\n",
       "               '2023-02-03', '2023-02-06', '2023-02-07', '2023-02-08',\n",
       "               '2023-02-09', '2023-02-10'],\n",
       "              dtype='datetime64[ns]', name='日期', length=1207, freq=None)"
      ]
     },
     "execution_count": 177,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "index_zh_a_hist_df[\"收盘\"].index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 178,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2018-02-22', '2018-02-23', '2018-02-26', '2018-02-27',\n",
       "               '2018-02-28', '2018-03-01', '2018-03-02', '2018-03-05',\n",
       "               '2018-03-06', '2018-03-07',\n",
       "               ...\n",
       "               '2023-01-30', '2023-01-31', '2023-02-01', '2023-02-02',\n",
       "               '2023-02-03', '2023-02-06', '2023-02-07', '2023-02-08',\n",
       "               '2023-02-09', '2023-02-10'],\n",
       "              dtype='datetime64[ns]', name='date', length=1207, freq=None)"
      ]
     },
     "execution_count": 178,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.portfolio.equity.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='date'>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABawAAAFXCAYAAABORAn0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAyBFJREFUeJzs3QV4leUbBvB7vcEK2EaN7u5uJAQREJQQWwyw/rao2IqNYouoiIiNqCDd3d01YGOsGCtY/6/nfc93YsXiLM64f9d1rp3a9jG2c77v+Z73fpwyMzMzQURERERERERERERUypxLewOIiIiIiIiIiIiIiAQL1kRERERERERERERUJrBgTURERERERERERERlAgvWRERERERERERERFQmsGBNRERERERERERERGUCC9ZEREREREREREREVCawYE1EREREREREREREZYIrHFhGRgbCwsLg4+MDJyen0t4cIiIiIiIiIiIiIspBZmYm4uPjUaNGDTg7O5fPgrUUq2vVqlXam0FERERERERERERE+XD27FkEBweXz4K1dFYb/0hfX9/S3hwiIiIiIiIiIiIiykFcXJxqPjZquuWyYG3EgEixmgVrIiIiIiIiIiIiorLtatHOHLpIRERERERERERERGUCC9ZEREREREREREREVCawYE1EREREREREREREZQIL1kRERERERERERERUJrBgTURERERERERERERlAgvWRERERERERERERFQmsGBNRERERERERERERGUCC9ZEREREREREREREVCawYE1ERERERERkT3FhQNz50t4KIiKi8l+wXrBgAerXrw9XV1e0bdsWhw4duurnfP3116hevTrc3NzQp08fnD9vedMePnw4nJyczJcBAwYU7l9BREREREREVBakJQMfNgM+bAqkpZT21hAREZXfgvWJEydw99134+2330ZoaCgaN26MiRMn5vk569evx9SpUzFnzhycOnUKmZmZeOqpp8yPb9++Hfv27cPFixfVRQriRERERERERA4rOcFyPTGyNLeEiIiofBespZtaitVjxoxB1apVMWnSJOzatSvPzzl27Bi++uor1TkdHBysCt7G50jRWwrYLVu2hL+/v7pUrFix6P8iIiIiIiIiolKTabl6JbY0N4SIiMghueb3icOGDbO5feTIETRq1CjPz5ECdW6fs3XrVqSnp6tCtnRX33jjjfjiiy9QqVKlXL9ecnKyuhji4uLyu/lERERERERExS8jzXL98sXS3BIiIqJrZ+hiSkoKPvjgAzz44IP5/pyYmBjVbW18zuHDh9GmTRssXLgQmzdvVpEhU6ZMyfNrTJs2DX5+fuZLrVq1CrP5RERERERERMVfsE6KLs0tISIickhOmZLLUUBSWP7vv/+wbds2NUwxP8aPH686oqVAnZO1a9di1KhRiIqKKlCHtRStL126BF9f34L+M4iIiIiIiIjs62II8HFrff2GD4FO95b2FhEREZUJUsuVJuSr1XLzHQliWLlyJT777DPVFZ3fYvXs2bOxatUq7NmzJ9fnBAUFITo6WhWkPTw8cnyO3J/bY0RERERERERlq8M6pjS3hIiIqPxHgkhsh3RKS8G6efPm+fqc7du345FHHsHPP/+shjUaxo4di/Xr15tvb9q0ST3OgjQRERERERE5rIx0y3VGghARERVYvjusL1++rAYvjhgxAjfddBMSEhLU/RUrVkR8fDy8vLyydVxHRESoYYrPPPMMOnbsaP4cb29vtGrVCo8//jimT5+uYkAkZmTSpEkF/xcQERERERERlRWZLFgTERGVSIf10qVLcfDgQcycORM+Pj7mS0hICFq3bp1jNvW8efMQHh6OqVOn2nyOePbZZ9XnXX/99apQPXnyZLzwwgtF+scQERERERERlZlIkJCNQEJEaW4NERHRtTF00dGCuomIiIiIiIhKRNgu4Ou+ltvVWgF3LQQ8/Upzq4iIiBymllugDGsiIiIiIiIiykNGhuV6xUAgfB+w6OnS3CIiIiKHwoI1ERERERERkb0jQSrVA4Z9pK+H7S7VTSIiInIkLFgTERERERER2btg7ewCVKhiex8RERFdFQvWRERERERERPaSma4/Orvqi2DBmoiIKN9YsCYiIiIiIiKye4e1K+DCgjUREVFBsWBNREREREREZC8Zpg5rJ2d2WBMRERUCC9ZERERERERExdFhzYI1ERFRgbFgTURERERERGTvDmsWrImIiAqFBWsiIiIiIiKiYumwdtHX01mwJiIiyi8WrImIiIiIiIjsXrB2AZzdbO8jIiKiq2LBmoiIiIiIiMheMjOsCtaMBCEiIiooFqyJiIiIiIiIinPoYmY6kJlZqptFRETkKFiwJiIiIiIiIrJ3wdrJxZJhbT2MkYiIiPLEgjURERERERGRvRiFaemudnGzuj+11DaJiIjIkbBgTURERERERFQsQxdds99PREREeWLBmoiIiIiIiMjuHdYsWBMRERUGC9ZERERERERExTF0UXKszfczw5qIiCg/WLAmIiIiIiIispdMqwxrZ2fAyXTYnc4MayIiovxgwZqIiIiIiIjI3h3WRne1s2nwIiNBiIiI8oUFayIiIiIiIqLiyLBWH0051ixYExER5QsL1kRERERERER2L1i7ZilYM8OaiIgoP1iwJiIiIiIiIiqOoYvWndYZzLAmIiLKDxasiYiIiIiIiOxesDYVql2YYU1ERFQQLFgTERERERER2UsmM6yJiIiKggVrIiIiIiIiomLLsDYiQZhhTURElB8sWBMRERERERHZi9FJ7cQOayIiosJgwZqIiIiIiIio2DqsTR/TOXSRiIioWArWCxYsQP369eHq6oq2bdvi0KFDV/2cNWvWoFmzZggICMCHH35o89jvv/+OOnXqoEaNGpg3b15BN4eIiIiIiIioDA5dNArWHLpIRERUbAXrEydO4O6778bbb7+N0NBQNG7cGBMnTszzcyIjIzF8+HCMHz8emzZtwty5c7Fq1Sr12P79+zFhwgRMnToVS5YswUsvvYQjR44U6B9AREREREREVPY6rE2H28ywJiIiKr6CtXRTS7F6zJgxqFq1KiZNmoRdu3bl+TlSoJbuaSlKN2rUSBWlZ82apR775ptv0K9fP1X0btWqFR5++GHMmTMn16+VnJyMuLg4mwsRERERERFR2e2wZoY1ERFRsRWshw0bhvvvv998W7qhpQidlz179qiitJOTk7rduXNn7Nixw/xY//79zc+1fiwn06ZNg5+fn/lSq1atgmw+ERERERERUfHKzCXDOoMZ1kRERMU6dDElJQUffPABHnzwwTyfJ13Q9erVM9/29fVFWFjYVR/LyZQpU3Dp0iXz5ezZs4XdfCIiIiIiIqLi77B2YYY1ERFRQZjeQQvu5ZdfRsWKFa+aYS3DGT08PMy3PT09kZSUdNXHciLPtX4+ERERERERUZliFKadmGFNRERUYgXrlStX4rPPPsPmzZvh5mY6W5yLypUrq8GLhvj4eLi7u1/1MSIiIiIiIiKHk5GhPzLDmoiIqGQiQU6dOoXx48ergnXz5s2v+vxOnTph06ZN5tsypLFmzZpXfYyIiIiIiIjI4XDoIhERUckVrC9fvqwGL44YMQI33XQTEhIS1CUzM1PlUaemZh8iMXz4cGzYsAHLly9Xj7/77rsYPHiwemz06NH4+eefsW/fPvV1ZsyYYX6MiIiIiIiIyHEL1i62Bet0Dl0kIiKye8F66dKlOHjwIGbOnAkfHx/zJSQkBK1bt8bChQuzfU5AQACmT5+OoUOHomrVqjhy5AhefPFF9VibNm3w2GOPoWPHjqqz2sXFBZMnTy7IJhERERERERGVDVHHgRMr9HV2WBMRERV/hrV0Vks3dU5Onz6d6+c9+OCDqnP68OHD6NWrF7y9vc2Pvfnmm5gwYQJCQ0PRp08fZlgTERERERGRY9o913I9M0uWNYcuEhERFd/QxcKoV6+euuREsrDzk4dNRERERERE5BCCmtkWrDfOALo8ADg5lepmERERlbuhi0RERERERERkkhQDxJ7V19Ou6I8tRwPV29gWrONCgVNrS2kjiYiIHAcL1kRERERERESFIZGZ7zUEPmqpC9cpCbbd1SIl3nL9SiwQcQj4rAuwY3bJby8REZEDYMGaiIiIiIiIqDASIoBMUzb1xVNASqK+7lbR8pzII5brTi7AkueByMPAgT9LeGOJiIgcAwvWRERERERERIVxYb9tt7VRsHa3KlhHHbVcP74MOLFSX09LKamtJCIicigsWBMREREREREVRsRBy3UpVudUsO7+iOX6ju8t1428ayIiIrLBgjURERERERFRYUi0R44Fa2/L/f1fAnxqZP/cdHZYExER5YQFayIiIiIiIqLCSDYNWRSpSVYF6wqW+13dgUYDLbf9a+uPackltZVEREQOhQVrIiIiIiIiosLISLNcT0nQReuskSBZb/vX0R/TWbAmIiLKCQvWREREREREREUuWEuHdUL2SBDhZtVx7V1Vf+TQRSIiohyxYE1ERERERERUGOmpOWdYWxeos0aEmAvWHLpIRESUExasiYiIiIiIiIraYZ18yTJIMWskiJvVbR9TwZpDF4mIiHLEgjURERERERFRUQvWCZGW61kjQawL2N7V9EcOXSQiIsoRC9ZERERERERERS1YJ0boj85ugKt7HpEgQfpjZjqQkV4SW0lERORQWLAmIiIiIiIiKmqGddhu/dGrUvbnWUeCGBnWgl3WRERE2bBgTURERERERFQYGVYF68sx+mOHO7M/z9k154L1r3cAGRnFuYVEREQOhwVrIiIiIiIiosLIGunhVRno/mj251kPWJQObCfTofjxZUDojmLeSCIiIsfCgjURERERERFRUSNBRO+nAE/f7M/zrWG57uwMZFp1VV+JLcYNJCIicjxW65KIiIiIiIiIqFCRIP61gY735vy8Gm2BG2cAlepmfyw5rvi2j4iIyAGxYE1ERERERERUlEiQAa8ArcYAbp65PzenbGuREFk820ZEROSgGAlCREREREREVJRIkAbXAX41C/c1Ei7YdZOIiIgcHQvWREREREREREWJBHFxK/zXSIiw2+YQERGVByxYExERERERERVGRpr+6FyEtE12WBMREdlgwZqIiIiIiIioMNLtULCOP2+3zSEiIioPWLAmIiIiIiIiKkokSFEK1tEngIwMu20SERHRNVewjoqKQr169XD69OmrPveVV16Bk5NTtsvq1avV461bt7a5f+LEiYX7VxARERERERGVViRIUTKs0y4Dl87abZOIiIgcnWtBi9XDhg3LV7FaPPfcc/jf//5nvh0SEoKBAweiXbt2SEpKwokTJxAREQE3N/3m7uHhUdDtJyIiIiIiIip50hWdaeqMdi5CwVpEHgEq1bHLZhEREV1THdbjxo3Drbfemu/ne3p6wt/f33z57LPPVAHbz88Pu3btUh3WgYGB5se9vLwK828gIiIiIiIiKp04EOHsUrSvdWF/kTeHiIjomixYz5w5E48++mihvlFYWBjmz59v/vytW7fi3Llz5oL1pEmTkJycXKivTURERERERFQqcSCFiQQZNROoXB/oeK++veM7IN2qAE5ERHQNK1DBWrKrC+vLL7/E+PHj4e3trW4fOXIEPXv2xPr167FkyRIsW7YM06dPz/NrSEE7Li7O5kJERERERERU4qwLzAWNBGk9Bnh0FzD4TaBiEBB7Btgzz+6bSEREdE0MXSyM9PR01Z394IMP2hSw582bhyZNmqBLly546aWX8Pvvv+f5daZNm6biRIxLrVq1SmDriYiIiIiIiLLISLdcdy7QeCgLNy+gp2nu09r32WVNRERUUgXrVatWoUqVKmjevHmuzwkKCkJoaGieX2fKlCm4dOmS+XL2LCcpExERERERUSlmWDs5A85FOLTucLepyzoE2Pur3TaPiIjIUZVIwfrXX3/FqFGjbO7r1q2bTcF506ZNqFMn76nIHh4e8PX1tbkQERERERERlTijG7qgcSBZuVcAOtylr59eV/TtIiIicnB2KVhLlnRqau5LlxYvXoy+ffva3NeiRQs88MAD2LJlC2bPno0PPvhADV4kIiIiIiIicpihi4WNA7HmU1V/TEko+tciIiJycHYpWLdu3RoLFy7M8bETJ04gLCwMnTt3trn//fffVx3T/fr1w8svv4z33nsPd955pz02h4iIiIiIiKhkCtYudihYu3vrj8ksWBMRERXqnTUzM9Pm9unTp3N9boMGDZCWZnojt+Lv74/58+cX5tsTERERERERlY9IEOuCdUpi0b8WERGRgyuRDGsiIiIiIiKicsWekSDuFfVHFqyJiIhYsCYiIiIiIiIqsAxTh7WLPTus4wv3+SlJwPrpQNSxom8LERFRKWPBmoiIiIiIiKig0u3YYe1RxEiQ1W8By18BvuxZ9G0hIiIqZSxYExEREREREZWFSBDroYupl4ED84G05Kt//onV+mPalaJvCxERUSljwZqIiIiIiIioLESCpCdbhjkueQH47S5gy5dX//z0lKJvAxERURnBgjURERERERFRaUaCGAVrIxZEMqn3/qpvn9mS/+K5WPE6kJFe9G0iIiIqJXZ4ZyUiIiIiIiK6xtgzEsTVHXB204XnlATgzGbLAMYL+6/++WlWHdbr3gdcPYA+zxR9u4iIiEoBO6yJiIiIiIiISjMSJOvgxd0/We6PDQGuxBUsEmT1NOCkKdeaiIjIwbBgTURERERERFToDms7FayNWJDo48DJVab7fPTHiIP5jwQRmRnADyOAP+6zz7YRERGVIBasiYiIiIiIiAqdYe1in6/nXlF//PVOXXCu1RWo003fF74v98/LzNSZ1wa3CoB3VX394AIgI8M+20dERFRCWLAmIiIiIiIiKvVIEB/br9tpIlC1pb5+4UDunxeyAUhPtvo6vsCju/R1uT8u1D7bR0REVEJYsCYiIiIiIiIqzaGLolYXy/W2E4DWtwBVW+Q9eFG6q/95LPsAR+nWrtJQ3445aZ/tIyIiKiEsWBMREREREREVVHqqfQvWLUdbrvd5Vn+s1kp/vHAw52iPqGM689qai7v+WLm+/hhzwj7bR0REVELs9M5KREREREREdA12WNsrEqRGO6D/izqDulIdfV/lBoCLB5CaCFw8BVRpYPs5Rxbpjw2uA06sMG2Ph+VzBTusiYjIwbDDmoiIiIiIiKi0I0GcnIDeTwPdHrLc5+IKBDXLPcfaKFg3HWq5r1Zn/dE7UH+8fNE+20dERFRCWLAmIiIiIiIiKnQkiJ06rHNjDF4M26k/RhwCQncACZHA2a36vsZDgPvXAN0eBga+qu9zq6g/piQV7/YRERHZGSNBiIiIiIiIiAoqI9XSBV2c6vYEdv8IbP4CyEgHNn8OODkDfZ6RqYtA9TaAX019qdHW8nnuFfTHVBasiYjIsbDDmoiIiIiIiKigpHhsz0iQ3LQeqzuo064AG2foKJL0FGDlG/rxJjfk/HmShS1SEot3+4iIiOyMBWsiIiIiIiKishoJ4uwMjJsLjJkD1O6W/XHr/Gpr7kYkCAvWRETkWFiwJiIiIiIiIip0JEgxF6yFswvQfDhwz2LgwfWW+wMaA9Va5d1hzUgQIiJyMCxYExERERERERU6EsSlZL+vFKgHv6UL0gNfz/155g5rFqyJiMixcOgiERERERERUVmNBMlJt4eArpMBJ6fcn2PusGYkCBERORZ2WBMREREREREVlAw/LKlIkJzkVawW7sbQRXZYExGRY2HBmoiIiIiIiKiwGdYlHQmSX26mSJC0y0BGRmlvDRERUb6xYE1ERERERERUUOlppRcJkh9Gh7Xg4EUiInIgLFgTEREREREROVokyNW4elmus2BNREQOhAVrIiIiIiIiokJHgriiTHJ2tgxeTLEavHh+D3B4UaltFhERkd0L1lFRUahXrx5Onz6dr+cPHz4cTk5O5suAAQPMj61ZswbNmjVDQEAAPvzww4JuChEREREREVHpSC/jBWthFKyNDmvJsv6qN/DzeCDiUKluGhERkV0K1lKsHjZsWL6L1WL79u3Yt28fLl68qC4LFixQ90dGRqpi9vjx47Fp0ybMnTsXq1atKsjmEBFRcZKDmOSE0t4KIiIiorIpI71sR4JY51inmArW4Xstj10MKZ1tIiIismfBety4cbj11lvz/fzQ0FBkZmaiZcuW8Pf3V5eKFfWkYilQ16hRA1OnTkWjRo3w0ksvYdasWQXZHCIiKi5ntgCfdwV+GlPaW0JERERUNpX1SBDhpo+/cXQxsOlzYMnzlseSokpts4iIiOxWsJ45cyYeffTRfD9/69atSE9PR3BwsCpUS8FbuqzFnj170K9fPxUTIjp37owdO3bk+fWSk5MRFxdncyEiomKw43v9MWRDaW8JERERURmPBCnDHdbVWumP694Hlkyx3beLDy+1zSIiIrJbwVqyqwvi8OHDaNOmDRYuXIjNmzfj1KlTmDJlinpMis3WX8/X1xdhYWF5fr1p06bBz8/PfKlVq1aBtoeIiPIpM8NyPTm+NLeEiIiIqIxHgpThDuvrpwGBzYAKAUDjIUD/qUCtrvoxFqyJiKiMKtZ3VilOGwVq8d5772HUqFH48ssv4erqCg8PD/Njnp6eSEpKuurXe+KJJ8y3pejNojURUTFIjLRcjzkFVG9dmltDREREVPY4QiRIxQDgoc2293n4AGc3AwksWBMRUdlUou+sQUFBiI6OVtEelStXVoMXDfHx8XB3d8/z86XAbV3kJiKiYhJ93HI95iQL1kRERESOGAmSE59q+mP8hdLeEiIioqJHghTU2LFjsX79evPtTZs2oWrVqqro3KlTJ3XbsGvXLtSsWbM4N4eIiK7m1FogZCMQe8a2YE1EREREtjLSyn6HdU68jYI1O6yJiKhsskvBWqI5UlNNZ5ettGrVCo8//rgqWv/1118q0mPSpEnqseHDh2PDhg1Yvny5+tx3330XgwcPtsfmEBFRYSRGAbNvBL4bIiHWlvvj8p4vQERERHRNF6zLcoZ1TvxMjWLxYZYcbiIiojLELu+srVu3xkcffYSRI0fa3P/ss8+qQYvXX389fHx8MHnyZDz//PPqsYCAAEyfPh1Dhw6Ft7c3/P398f3339tjc4iIqLAF65zEny/pLSEiIiJyoA5rR4sEqa67wmX7ZT/PL7i0t4iIiKjoBevMTKvOOwCnT5/O8Xlubm6YNWuWuuTkwQcfVF3Vhw8fRq9evVThmoiISknaFdvbbhWB1EQWrImIiIjyzLB2sA5rZxfAtyYQGwLEnmXBmoiIrq0M6/yoV68ehgwZwmI1EVFpS0mwvV2vl/7IfEMiIiKi8hMJIvxr64/Wc0uIiIjKiFIvWBMRURmRHG97u65VwZr5hkRERETlIxJE+NXSHy+xYE1ERGWPA54KJiKiYpGcpcO6Tjf9MTMdWPYSMPjNUtksIiKi8ioxOQ23zdqCyynp6NagCno0CEDn+pXh6+mABdBrkaNGggh/U8FaIkGIiIjKGAd8ZyUionxLSwYWPwc0Ggw0uT7v56Zk6bAOaAJUaQhEHwc2fQp0uEvfTooBKlYp1s0mIiK6Fmw7HYNdZ2LV9cPh8fhuw2k4OwGtavrBw80F/l5umDG+HTzdXEp7UyknGaaCtYsjd1izYE1ERGUPI0GIiMqzbd8A278F5o0teIe1hzcwdq7l9tr3gaUvAu81AEI22X9biYiIrjEnIhPVx9bBfpjQpTbqBVRERiaw59wlbD0Vg6UHL2DFoYjS3kzKjRGZ5uzIGdYsWBMRUdnjgO+sRESUbwUZpJM1w1oENQXuXw183RfY9yuQmaHvX/kGcPdC+20nERHRNehEpD5Z3LtRIJ4a3ERdD4u9jE0novHkb3vU7aUHw3FD6+qlup1UjiNBLp0DMjMBJ6fS3iIiIiIzdlgTEZGWYtVhPf4Xy/Ua7XSkiFGsFs5cmkxERFRUJyL0e2+DoIrm+2r4e2F0h2D8MUnPklh5OAIpaVbvwVR2OHIkiG8wACcg7TKQGFXaW0NERGSDBWsiomuFdM/kp8O6/4vZ8677Pps9G9uQkQH8PAFY9Iy9tpSIiOiaigRpEOid7bG2tSohwNsD8VfSsOVUdClsHeVJ9n+Mk/nODliwdnUHfKrp65cKsCKPiIioBLBgTURUnlkXqa2LzHkVrN19sj9WswPQcKDldsxJy/WwXcDhf4GtXwHpaUXeZCIiIkd3MjLhql3Rl5JSEZWg35vr51CwdnF2wsDmQer6kgPhxbSlVGgZaY6/8swYvMgcayIiKmNYsCYiKs+sYzxyyqjOKRLEI4eCtRj0OlC5vr6eGAFcidPXr1y0PCeJHWBERFS+xSal5PpYZmYmpi06hP4frMHr/x7M8+uciNLvu9V8PeHtkXMG8qAWugN22cELyJBpjFQ2o9Rc3OGQzDnWZ3WTgzFEkoiIqJSxYE1EVJ6lJlmuJ5sKzLlJNgrW2bu8lKBmwKO7AJ8a+vbBBfpj/AXLcxIji7a9REREZdji/eFo+9oyPPbzrmwF5LT0DLz6z0F8tVavQrpajEdO+dVZdW9QBRXdXXAhLhlzt4TY5d9AdnJkkf4Y0ARwrwCH5F9bf1z6IvCqPzCjHRC+v3S2Zdss4M8Hrr4ikIiIrgksWBMRlWfWReqrdVhfuZR3h7Whagv98e+Hgc1fAnFhlsek85qIiKic2nhCD6dbsDsMa45aTtLGXUlFn/dW4/uNp833nYpKRGp67rEgB8/H5ZpfbfBwdcHt3eqq62//dxjp7LIuO/aaBlS3GQuHZUSCGGJDgO+GACdXl+x2RBwCFj0F7P0ZOLqkZL83ERGVSSxYExGVZ9ZF6qsVrC+boj28Kuf9vIDGluuLnwUiD1luc8o8ERGVM1IkTk7TUQnhl66Y798Xqk/0HgmPx7IDFxAae1ndfnd0a3i5uSA1PROv/H0gx6956Hwc5m7Wg+661q+S5/d/apB+301MSceFOMv3p1J0KRQ4tU5fb3ULHJbRYZ212eHHm4E9P5fcdiydaomxO7ul5L4vERGVWSxYExGVZ9ZFauusxawkt9AoWFe4SsG6anPb2/v/sFxPYIc1ERGVH5JJPeqLjejx9irsPRdrLkobhepv1p3E4I/W4snf9qj7xnQMxphOtVCrspe6PXfLGXORe+PxKEz77xAi4q7g8V92IyU9AwOaVcWQljqnOjeuLs6oU0VHTpyJsYr6otKz7zf57QDq9Mi56OsofE0xb4bODwAtRgEZqcD8B4B1H9gO8C4Ox1cAx5dZbodsLN7vR0REDoEFayKi8iy/Hdapl4F0U2agV6W8v2brcUDvp4GuD2V/jBnWRERUjoTHXcGes7GISkjGrTO34ESk5eTvwn3n8cZCq1VGANrV1u+ht3WtY77PKDK/uGA/vlpzEp3fWoHD4fEI8HbH26NbwcnJ6arbUbuyLlh/uPQoY0HKgr2/6o+tx8ChBTYFmt0IVG8LdHsYGPAyMHoW0P0R/fiK14CFTwDpacW3DStf1x+bjwDgBITtBML3Fd/3I6LyZ9lLwLfXA5djS3tLyI5YsCYiumYK1nkMXbwcoz86uwLuuWdpKi6uQP8XgcFvAr7Bto+xw5qIiMqR/aGW986E5DRcSc09k1p0rKML1nd0q4seDXXUx7mLSYhJTMHJyETz81ydnfDeLW0Q4O2Rr+2o7uepPm49HaMGPwrp+B7z5SbsCDG9h1PJiDkFRBwAnN1MRVYH5uwCjP0ReGCN3q9zrwg4OwOD3gCGvKsLyNu/BVa+VjzfPyMdOK9XJ2DwW0CLm/T17d8Vz/cjovIlJQn46yFgw8fAmU3ADr52lCcsWBMRlVeyhPNKPocuWudX56PTS5HnjfsRqN0d6DJJ33d08dWzsomIiBzEflNO9Q2tq6N340B1vUpFd7w+siX8vNxwT496aFXTT93vX8ENjapaBhcH++uu6HMXL2NniH6frenvhQ/HtMGyJ/qgX5OgfG9HNT8dMSJ2hFzE0gPhGP7pBlXAfmDOTjv9aylP0mW86i1g4yf6dlDTq69Kc2RdHgBGfKav75wDpKfa/3vI7BPJrnZyBnyqA/V66fsTLtj/exFR+bP2XWD3j5bbW74C0lJKc4vIjlzt+cWIiKgMkQnvqYkFLFgX8MCrRjvgnv/0QdyxpUDMCWDlm8CQtwu50URERGXHxhN6mHDnupUxrnMtFenRtJoPBrWohtu61FZxHlLU/nTlcTx9fRObzw2u5GXOuv7P1BUtRe9R7bOsTsqH27vWwYwVx9T1DcejMHvTafNjEldCJWDbTGDNOzkPoS6vWo8Flr+sI99kv7LRwIJ/jWPLgfUfAjfOAAIa2j6WaFqZVyFAd3t76pM/uKJPFBER5ensNtvb8eeBA/OBNmNLa4vIjthhTURUXm0ydcUUZ8HaOiZELR2VM9tfAKfXF+7rEBERlREnIxOw7fRFODsBg1tUg4erCx69rpEqVgsje7plTT98eXsHNAi0jdQKNg1elKzrQ+fjVGb15L4NCrUtgT4e+Pr2Dur6kQvxNjnW7i48pCsR1kOmRZVGKPdk/86I6VCDJgth7mggZAPw98PZHzM6qb2r6o/mgjVzaIkoH6RAndWmT4t/WCyVCO7dEBGVR5FHTBPXnYD2d+r7kk2DomLPArMG67PPhiRT/mVRlrY2GgC0v0Nf/2syo0GIiMihrTmqBwn3aBiAaqYM6YLoWKeyze1v7uyEWqbhiYVRN6Bijvd7uJb/Q7q09Ax8teYEvt9wSnW0f7PuJCbP3YGzpoGWxU6KH+f32t4XcA0UrEWrW/THQ//qvNic5FYcunDAcl3yZWXId06zT7xN8Tie/vqjDF3871ng1zt0DAsRUVYn1+jVvdZcvYDwvcCMdkDIxtLaMrKT8r93Q0R0Ldr8hf7YZChQvY3t0EWZonx2M/DbXZbnJ0Xrj0XNYhz0JuBXG4gNAXbPK9rXIiIiKkUHwvT7ZvvahXtvlOL0J+PbqQiRb+/qiLa1TMW4QqpduQK83FzUdfm6xiDG+OQ0JKWkobzaeeYiOr65HNP+O4xX/jmIYZ+sxxsLD2HRvnBMX3a0ZDZCTsKnZ4leqdsT14TgToB/bR0zJ7NKrMWHA2vfA96uA6x4Pfvn7v3V9rYxYDFbh3WQbYe12PIlcHCBjmGJOWmffwsRlb/jXYNbBUts0cVTwNwxpbJZZD/MsCYiKm9SrwB7TMXibpOBuDB93eh4vmzqprYmXS/GAKGi8PQFWozQA4mkaE1EROSgDpoK1s1r+Bb6a9zYpoa62IOnmwu+v7sTktMyVBa2fN2WLy9BQnKaGuzY2GrgY3ny377ziE2yDPyTYZeXU9ORkpaBP3eFooKHCypVcFexKTe0qq6iWnw8XeFmz6gUyXC2PjnfdCjgo6Nhyj2Jvml5s86h3vc7ULsr4OGjc6a/GQjEm/Yz170PXDfV8nlRx4C9v2QvWMvnGxIicy9YS/HJvaL+2cedByrXL75/IxE5nshDtreDmgG1ugCH/ta3U7ja19GxYE1EVN7IAJu0K4CLB1Cnh6UbxihYu2ZZ1ixRIafW6euNBhf9+1cMsl3mSURE5GB2hMTgWIR+32xevfAFa3vrUr9Ktq7rg+fjVKfxF7fpjOvyJiz2ivr41KDGmNS3ocoUFwM+XIMTkYn4cfMZ83PfXXwEyWnpuL5lddWFfjXhl65gz7lYXE5Jx/A2NeBsfPGsEvXwTVSqC3TPIYv5WogFkYL1kYX6Uq834OJuKVZb/5yMyLlFT+mPHr5Ax7uBDR/n0WFd1fJcQ4UqurNbCtYrXwcm/KYL5URE0qAVa3rtHzcP2DUHGPg6kGR6rRZ+tUpt88g+GAlCRFTeXDYNqvHy110xxs59TgVruU+m3ssyV+lcCWxS9O9fMdB28jsREZGDyMjIxBerT2DMV5uRmp6JNrX8EVxJD08si54doldG/bc/HGGxWfKBy4lQ07+rYZAPXJydVAe1XJ4apPdZKrq7YHzn2uq6dJvL/9s/e8Kumm/90oL96DptBR6YswP/+2U3bpu1BW8tOoRLly3d3Nk6rI19nGtN1eZAUHPL7VNrgePLsz/v28G6UG0Uq0XDAbrrUZzdYpt3bRSsjWYHN6t9VHdvS+e1rASc/6A9/0VE5MgkJigzQ6/KaDIEGD8PCGgI1LQ6cWu8fpQ153YAs4cDR5eW9paUeSxYExGVN8ZkdWNwTdaCdYZVzuWcm4C1H+jrfZ7VBe6i8g60XeZJRETkIF76ez/eWXwY6RmZquN27sQuqjhaVvVpHIhOdXXG9vJDpuKfA8vMzMSV1HSb+4xCfA1/2xVi17eshhnj2+Gn+7pi2qhWuK6pbXHi9llbzLEuWcn/7x87zqnrlSu6q48bT0Tj67Un8fNWS8e2mXES/lotWItO92a/r+8U4O7/LLejj2d/To/H9Io/aZiQx0N35D500ZrEgRid1+Lwv0XbfiIqP6JM8wuqNLI9fnVxA27/y9KFXRZJPv+pNcBPtwD7/yztrSnTWLAmIipvJFPQOgfQKFinJOiPly9anntum873qtYKaGWnwRRGlww7rImIyIFIEfN3UxHztREt8PG4tvD2KPsJigOb66Le0gP2KVjHX0lVheOiSkvPuGqXs7XYpBSM/GwDmk5djLrPLcTwT9cj7koqIhP0sMMa/rad7nIiQU4qSBe8+HBsW3x3dyf8+kA31PT3wunoJNz0+Qb8tv1stu91JDweiSnp8PFwxQ/3dLZ57HR0Yu6RINdywbrD3bbRcQGNgZ6PA3W6Aw2uy/586aqeGgXUaKtX/TUfoe8/aComWe8rWhemDR5WHdaG9PI7XJSICkAy8o3XoayM1cRpZXTV0bmtluu1u5XmlpS/gnVUVBTq1auH06dP5+v5X3/9NapXrw43Nzf06dMH58+fNz82fPhw85IuuQwYMKCgm0NERHlFgljnAUrBOiPd8rg1yfxyttM5TOPgQpbPnttun69JRERUzE5GJuBKagYquLvgti51ynRntbWBzfXwv80no3EpKRWp6RmYuyUEe87G2hRoD4fn3G1s7ZdtZ9DqlaXo/vZKPPv7Xqw+kv+TzzIEUb6/4dV/DqLXu6uwcK/l+C+vKJYnf92DPedMJ90B7D13CU/9ukclSLi7OqOKqRM6NzKMsV+TIHSuVxn/PtITfZsEqgGVT/++F/usvq78fN5YeFBdb1vbHy1q+GJsR0vW6dkYXeSQor38TCXf2ogECUmuoCJjXpi/z9wJHhF/Rd1+49+D6t9Rbjm7ABN+BR7dBbQeC9zyPeDqoR+TIZQyJPHGjy3Pl85H6XY01O2lP57fqz+mJVuaKHLqsK7cAHC2+nz1uVkysIno2hRtFKwbZX/MiBaS15iyRI7DZYXJRVMtdfJmwLd6aW9VmeZc0GL1sGHD8l2sXr9+PaZOnYo5c+bg1KlT6k3/qacseVbbt2/Hvn37cPHiRXVZsGBBwf8FRESUdySIZAAapGht3WEtmo8EGvSz3/evEGC5/uNo+31dIiKiYrQ/7JJ5yGKuw/fKoHoBFdEoyBtpGZlYdSQCz/6xFy/M368iMSSPWQYLDv5oLUZ9vlEXX3Mhx2oz151S189fuoJftp/FXd9tw5sLDyIxOe/OVvncO77dgs5vLcfKwxcQnZCMOZtD1GOP/7Ib5y7m3Wn95doTWHE4QhWmJd7D1fTzX3pQd423q+VfoBMIlSq649s7O6F3Y90Rvf64ZRDXh8uOqvgPIR3a8nXfubk1fr6/q7rvrGlbf952FuO+3oyX/96P1Di9Hd/tTlSRMXO3nMGPm0Ow9VQMery9Ut3+Zv0pbDkVg3JPZp6M+hqo2sJyX6eJwHNngQ536UGJos1Y28+T1XwifJ/OsTZywaUobeyzitGzdMd2/xeBilb7lGLDR8XzbyIix4wEyalg7WpajZNahjqs5fj7+2HAzP76tn8dIKhZaW9VmVegNW7jxo3Drbfeii1btuTr+ceOHcNXX31l7py+++678d5776nroaGhasemZcuWhdluIiLKbySIdL/IwUBGqs6xNgrWj+7WSzCN7hh7cXEFnJz1IAwpnmdk2K97m4iIqJhIR6+QjltHM6hFVRyLSMCifefNWdZxV9Iwa91JxJqGCCalpKu4i2bVs//7pANbuoSPRyTA080Zn4xvj/m7zmHRvnBVxI5KSMH0sW2zfZ4UxP/eHYoPlh1FrKm7+p7vt6OaryVvOiU9A/0/WIO7u9fF5L4N4VfBLVtG9ftLjqjrrw1vgXGda6vu6Lu+3Qb/Cm64uUMwbmhd8C40OenQq2EA1h6NVEXmb9adRNPqPthkKlZLYfwWq87qWpUrmLdHCv9T/tynbv+6/Rxu8z6J1tLUl2n52b2x8FC27yk/+24NquCaJPt/QjKtY8/oqBBrgU0BJxfgcozuMJSPRne19X5iq5v1RbS8GQjbBfhUA1a8Dhz6GzizBajRDrh4KtuwcKkvSJO7DOeUFRNVfT1R0QFifYioAOSEV56RIB5lq8P6Uqhu4oo0vWfIcfLAV0t7qxxCgV69Z86cqeJAHnvssXw9XwrU1o4cOYJGjfQZkK1btyI9PR3BwcGqu/rGG2/EF198gUqV9NCQnCQnJ6uLIS7u6svaiIhwrUeCSEeS5FjLgcFfky15Xl6VAHd9cGZ39y4HvjGdQU6KKrtTmomIyGGtORqJ+TvPwc3FGUG+Hri3Z33zAL2CZjb/ty8c323Qq0g71asMRyOxIJ+tOmHuSDbMWGk7BC8kOlH9vAK9PWwKx9IdfSFOH2f1bxqkcrF7NKyiCtZi2cELKuNbCoHWnvptj3osq/A4Pezq1eEtsHh/ODadjMZXMtBw21k8PqAR7upRz+ZEgRQZpZA+tpMuIFf388KSx3sX+efSrralczc6MQUbjuti9bDW1TG+s6kT2ESK7NLZnZqeibu/22bzmGdKjFqbHAVTM4CJj6crAn08UN3PU33tpQfD8eINzRwmTqZY+AXrS07L9Gu21/NTfhprGeKYVy64qzswVDe8IeYUsGsOsPg5nYu9/Vtg7I9AsxvNkTTDPlmHoxcS0LSaDw6Hx6N9bX/8/mB3h1oxQURXEX9erxqWE2CVLO8lZm6mDms55pXidmm+Hp9YBfxxL5AUDfhUB0Z8qre5SoPS26byWrCWYnVhxcTEqG7rn376Sd0+fPgw2rRpg/fffx/Ozs6YOHEipkyZgi+//DLXrzFt2jS8+irPRBARFSgSxDj7fHaznkhsPGZkWxeH4A66ezvhAhAXyoI1ERHZ3Yt/7TPnDQsZmPjxuHboWj/3DlfJHX7t34M4diEe393dGV+tOYFZ60+p7mND9wZZYggcQOuafmqAYLwpukOKv1KjOxBm2+Dz8YrjOHQ+Dm2C/fDDvV3w+arj6jlGsVpc11QPwKvg7opjbw5Bu9eWISE5TX1ey5qWgq1kYhvFahly2KdJIB7t3wiv/3tQZV9PGdoMt3Wtgzu61VEdy9MWHVZd4K/8cxB1qlREv6ZBqvv5wR93qK8hRUZ7F3plIKMU3j1dXTCpbwNVxLwQdwX39sx+XCvF+Du711Vd6pUquKvbUqQ/FhGPACf9c3x1XF+8uCkdQ1tWQ8MgH3SpX1mdAJColQ5vLFO/j7vPxqJd7dybsAzS6f3jlhA8d31Tc3d3uTfic+CHEUDUEeC/Z/R9UnzOj/5TgQPzgbCd+iJWTTMXrPeci1XFaiH/z2LnmVg888de3N+7PhpXNQ0hJyLHZnRXV66nT2rl1mEtq30z0myz9Eu6s3rOSMvtO/8FAhqWzrY4qBJbH/PQQw+he/fuGDJkiLotxWm5GCQqZNSoUXkWrOX5TzzxhE2Hda1almVcRESUQySIGD8P2PGd7r6WTpb6fYs/psO3hqlgfV4v3SQiIioEKRruOnMRrYP9VcaxiLuSai5WS/FVhvVJ0fXWmZvx9OCmqjiZtRv7rYWHcOSCLmSJXu+sxEWrIYGic93KherSLm3SQdq4mg92hOjYrwaBFXFTu5q4d7Yefjy+cy3M23pWFZ2F/Lyen78v20DEqr4eGNBMF6yFFGNliOHKwxGYt/UM3ryplSV3evUJ9fGGVtXx2YT25vvlunU3thSh+zetit6NAtUAxPm7QrHkQDiCK3nhjm+3mj+vYZDVzA07ke2fO1FnU4uOdfPunp86rLm6WDsVcQmVPteF0Mb16+HX1tk7gr3cXVRX+oLdYfh7T1i+CtZP/74H5y5exs6Qi9jwbH+7dQHL4MyTkYm4sU0NmxMMZUJgY+CexbqIE3MS8KulC9H54VMV6PUksMKqgS0h3Bw9J3nihtu71lGZ7vI7KyeyNh6Pwobn+l/bne9EjnAM6+5z9WNUI79aBrvmxMiwNnKsS6tgbWynaDiQxeqyWrCePXs2Vq1ahT17cp/qGxQUhOjoaBX54eGRc56q3J/bY0RElEskiKhQWe/klySfGgB26Q5rIiKiLCRvduG+82poYIsaORfWMjIyVeyEFDn7NQnEh2PaqpxgVxddeJIohgUP91RDAV9acAB/7Dyn8oqvaxZk01H53pLDNsVqYRSrx3ashbdHt8L+0DjUrGR1oOtg5N9rFKzrB3qraI83b2qJIB9PJKWkqYK11ETl530iMtFcrB7ZtgZu71ZH/R84OzmZTwoYJvaqpwrWMlhQhhReSctQner/mD4/68kBkTU6RLi6OGNku5rq/1KiQf7cabt/UFa7jOt5SbyJLCt31vtTuZCfjRSs/917Hi/e0Dzbz+BsTJIaZiknAOS6FKuF3Ce/04NaVCv0NqalZ2DS3J04E51k/j2XCJaOdSphzr1dVEG9JMj333EmBtc1qwpfz1yKRJXqAPevBs7v0Q0NEluXX10nAydXAfEXdJe2LLM/txWo3dVcsH7lxuYqciYmMUUVrEXYpSs4FZWo/i6IqAyKPgF83hVoPgLoOgn49wmg7xSgyfXZn2vOr86tYG1VM0yT1+9Smktx6Zzl+rDppbMNDq7YC9bbt2/HI488gr///htVq1rO1o8dO1bd37NnT3V706ZN6nEWpImIiiESpDRIh7VY9DTQZCjgV7N0t4eIiMqUv3aH4vFf9qgc4CX/640a/l7ZCtqvLzyoCpxi1ZFIXPfhGlWIMkiMhJDBah+MaYPIhGQVM7HiUIS5YH3+0mVVjBb1A3TnsQwJNDw6oJHqvGwVXMa6UQuobhVLwff6FtXUv2lClzrqthSYJRahZ8MANSjxkXm7zM8d0qo6OtTJvRArESlGh/bYrzfbPNarUUCBuni71KusOqlluKMMY/T1dEWAt4f6f+uWR5RLqUqM1B8rVAGccy/89moUCD8vN0TGJ2PLqWibaBnpOL9t1haERCfhg1vaYO6WEJvP/WTlcbSt5a+6+6WwX1BbTsXYZIlLp7z8nWwPuYj1x6NU93dx2h96CS/+tV/FoYjGVb3x5+Qe8M5t4KGsAqxXiIxyycG+8x99ff6DwJ55wN5fkFazs/lkTed6+vdIfpYzxrfDo6bf9W2nY8wFa4kEqubnCR9PN7XqYPvpGPW3wqxrolKybRaQngLs+00PVr10Bpg3Fng2xLYJy7pzOaeBi0JWUrh66mK1KliXkktn9ccOdwP+TIYotYK1RHN4eXnBzc32LGpERIQapvjMM8+gY8eOSEjQS6m8vb3RqlUrPP7445g+fTqioqJU3MekSZPssTlERNe2nCJBSkPDAXogTmY68P0NwF3/5jyEh4iIrjky6PCtRYdN19Pw8fJjeOfm1jbFasmaNgYhSuFLcpSti9U5RTz0bxKoCtbSZS2FUSlWv7fkiHqsdbAf/n64J6ISkvH1upMqd3nho71y7AZ2RBIB8dPWMxjVLhjNa9h2lHm6ueD5oc3UdfmZWGuSj2zf54Y0U13W1lnX4tHrculwy4Vsh5yciE5MRtzlVFSu6IGKHi6qoCuZ2WW6YJ3XcEBAdaYPaVlNdY//syfMXLCWfOuxX29SxWrx5G961bEU67+8rQMe+HEH9oVeQue3VsDNxQnv3twaN7Ur2P7Sf/st0S6SZf717R3VdkiHsWRlF7ZgvedsrOoaPxOTpP7PJO/c3cVZ5Y8/3K8halX2Uvc98etumzx5yZKWYZs3dyj6fp/8bshAxWxd4m3G6YL1rh9xsu5t6vVBTn41MZ3EMrrepTgtJwS+3xiCEW1rYvPJaNz13TY0r+6LV4a3wJivNqnnymuNnMzpWLeS6hCXaBxHjAcickiSN22QYrVBVlS0uMn2udHH8y5YC6NgnVqKBetYU8GaxepCs8teQevWrfHRRx9h5EirQHEA8+bNQ3h4OKZOnaou1jugzz77LE6dOoXrr78ePj4+mDx5Mp5//nl7bA4R0bUtp0iQ0iBLuB7aCvw4Crh4CvhmINBqtF5SW1hVWwKtx9hzK4mIyhfJhd38JdD9kTJ9kDRjxTHViWr4ZftZVPF2x8Re9dUgRCmCSWeoscS/XqA37jTlHQf5eOCfR3qqzshuDWy7cqVbWIb6CemsvJyabu74fMuUvywdveue6afyjctLsVpIh/qap/td9XnV/bxQzdcT4XFX4OrslK8oDukc/mhsOzwybyeiElJUZ/vjAxuj01UyoXMiP3OJKZGLQ0jUv4eoGJCvkwZSKF52MALTRun75mw+jb3nTM0EVsXtb+7spOJBPh7XFlP/OqBOJKSmZ+KrNSfRs2EgAn08zAVbKTpLcViGVWYVEp2I37brpeez7+mM3o0CVHe9FJmlYL3xhGn780m68SUu5odNp1XWeVZSPJaC/LpjkSr2Q76P0dUtJ4Tmbg7BjJXHVUb3gt2hqqte/i4b5BDHIQViyZeWQamVrIrDUnz+e3eYel2Q7m0XJyc8NqARHupnyYDNrNsb5wN7okbkergu+h+c8IyKQMn6Ny2DP3/acka9XjSduth8/8HzceZitTgZlag+LjlwQV3kdeLfR3qqTmwiKma5RUhe1CetzVISLZ3LuUWCGAVrUZod1pH6pLzK6qeSK1hLwdna6dNZfolMHnvsMXXJiXRjz5o1S12IiMhOZLBEenLZiAQRMlziroXA7GF6h2PjJ0X/msEdgcr17bF1RETlz/fD9IHfuW3A/atQ1shxxP1zdpjjC767qxPeXHRIRUR8vvqE6uYMjb1s08ErebTJaemqYBd+6QqeGtQEVX091SUruW/jc/3R/e2VqlgtxaspQ5rinh71bJb7+1e4tjsnv7itvYpa6dEwIN9Fezk5sGnKdUhLzyyxTGRH6rAWLU1Z7NLFL4VfWZk+a/0pdZ9E0dzXqz4+XnEU4zrXVsVqIQMp+z9XFTtCYjD6i004HB6PwR+txdLHe6ui6eS5O1QBVeJsVj7V1/y9pBAtXeqzN4YgOS0D3RtUMRerhcS/SMe2fD0p1jarnj3HNTYpRWWTyxDMkW1rqmiWX7adNa9kkG7qoa2qoVO9ynhh/v4sn5uqLoYZ49qpvz/pvpaCtZQM1h2LUpfpy4/hq9s6wNvTVRWVjdiTN/49iN926GK7h6uzOjEif7ey6sJaOjLVSol2tfzRvaE+cfDPvnC8c/YWLPXYhvpJezHOZRX6dHom279RtkmiQSZ8s8Xm/kZB3mowo2RbGwa3qKp+Tr9uO6tyr3/dfrbAqwiIqJAZ1oYKAXoFxaZPsxesje5qiWjKY6aAig8qjYJ1eipwdIleZRy2U98X2KRkt6EcKaPrroiIqEhxINLF7F5GBstIh999q/Syzbiwwn+dA/N1EebCARasiajEnY5KVMWUK2npmLboMG7tUlt1BZYGKVT5e7mrLtfVRyNwJTVDZRargqzRpWQcKBUDKXI5wQl+FXIZqpYHGfZnFKtvaFVdFbckuqPXu7q4bhSrpThdu3IFPNBbv957uLpg0aO9kJGpu32v1ml8V/e6KsJChilaZwmT1q52JXUpKOlKd7uGatUFLVj7ernCy81FFV0/XnEM207FqBgV6T6W30X5Pf7q9o45fm6TapaCshSMP1lxDPf2rK+K1UYHcETcFQT5eqqO61tnbrHp2H7zplbmYrWQjmWJtfhvfziGfLxODS2VDvDBLaqpovTiA+HYd+6SeRWCdRd4DT9PTOhaB2M71VJFcxEVn4Lpy4/io7Ft0b9ZEMZ9tVl1Kbes6Ysf7ulijs+QLO4Ab3fViS/a1/bHzjOxmPjDdnVbhn6OaFtDFaWNYrWQonuE1aoLiUx5pH8jDGlVDZ+tOq4y1OVrSDZ9q5p+ashiKAIxp8IdePDyTEz1/A1ejV/P8WcrJ2aeHNhYZddLwfzn+7uai+YST9Tv/TXwcndWqwjkZIy89jzx6x78tuOsij45GhGvIl1S0zPQuqY/alvlxRNREWVk6NVhhkFWf8dZC9anN1w9DqQ0OqxlO3fOURFFSAi33N/rKaB6m5LZhnKIBWsiovIYByL51c5FiN6wNzkD3u2hoi/J3fuzXl7V7EZ7bRkR0VVJ9+/A6WtUd5+sM9x1JharjkRg78uDbApE9iJL/CUDtkv9ymrJvbW952JtClWGZ65vgsl9Lcvl4VzwYnJ+LD0Qjofn7UKViu5Y/FjvAhetN5hiPqRI/cn4duq6RFJ8dXsHPDBnh4oP+OK2Djlmx8qAtPySbFq5ENmvYH31Ex/yelDdz1MVl79YbekYlA5/KVbnJeuAwnXHo9QJGmuSc/3EwMY4HK6HiBoe6ddQFYKzksxmKVgbQ0vl4uW231ykFtJRLB3YRkf1J7e2w3VNg7INf3ykf0M1fFMK5uLnB7qqKJJBzW2znuVn8N1dnfHUb3swuV8DtK9dyXxCSkhH80fLj9l87W0vDFAd6RfiruDmL3VMx9BW1XGf6YSVxM9IzIp0rstgR2O4o+R1j3rwVeC7pagQGwJMbwk8siPHzsuH+zdU3dmScW39b5PXlRVP9oGc7zNWDgxpWR0vLTigcrnrP78oW+b7ksf1wMhzF5Nw6Hw8tpyMxv8GNs59yCQR5S4+DEi7DDi7As+eBjx8gJCN+rGTq/XxrURdLnwK2DZT31+1Rf4K1j/eDDQaWIBtCdeRIxN+u3qhWQrth/8FdnwPnFgpa8gsJzfbTgDa3wFUaZD/703Z8BWViKg8uRJbduJA7C3QdCY90jQZmoiohPyx85xa3i5dggbpDpQOvy527rKOu5KKmz7fqDosO9etjF8f7GbzuBTLc/LRsmMY07EWArIerNmRdBe+8Nd+lWF7/tIVNUjugT71MaJNTfy4JUR1VN7SITjPTGQZxCZGtw+2ieiQrs9NU/qjqo+nzf1EZSfDOihfT5fMYyMP2SArMvLjzZtaqgiRk5GJ5ouQ2BbJshYfLrPsB8nKClmN8ECfnIsifRpbusKNgrYRgWEMfZSoF+lglu8rudod6uTceS9/l0axWn++G+7tWS/H57YK9jMXdcXYjrVUHrXo3zRIxXRIkVd+ThJlYuR1y2vHGyNb4s+d5/C/AZYOSsk73/BcP7Xtyw5cUEMU5XtMG9UKQX4VdWb/oqeAyzHAB02B2+cDdXvYbJMU0nP7t2VdtSGF6xvbVFdd3VkduRCvMrYTrqRh4IdrzcV/ee2+pWMtVKrgrk7IEVEB40Aq1dXFamG9mnbR08CIT4Gds/Xt4M5An2fz/prxpkG0EpUpReWCWjoVuPPvvJ+z+XNg6QuW2/X7AR3uApoMBVyv7dgxe2HBmoioPEaCSId1eRPYVH88u1lPfDayyYiIitnBMNtuRoN0LhakYL3i0AV8sPSoGnY3pGU1vHRj82xdl9+uP2XOj916OkYNJpRizsXEFGw7HYMtp6LNebhSGJFhgjJYTYajSbfjJOMLueoCkD3J9huDEqWAJtm4j/+yRxWPjMKaDGr777FearCfmLn2JE5EJqgilBT8N52MVrm6w1pXz/b1jc8hctRIEJF1SN+7N7fO9+qACV3qqEuPt1ea43Gko7pOlQp47OfdqFTBTWVfbzgerV4Xpo9tm2eeuDz2UL8GaojinHs7o6a/l3qtkEGGctLI+NyH+zdSl+Ly1qhWqljcvIYvWtbU+6hy4mv+rnPZopVkSKJcspLXyqbVfNVFOq89rbNpOk3UHY5HFukC1fdDgbFzgWbDCr3NTw5qojqmJR6kV6NADP90PeJM2dq7zlzExhPRNp3qv24/py7Spb7mmb58PSPKrxhTwbqy1Yk3n2pAy9HA/j/0TI7ze4H0FN2Ude9SOQOV99dM0FFKyrDp+d+WuPPA2neBU2uAZS/r+VANrwMaD9aPyzGoFKrlPtVVLcMLbgb6vwhUzvkEHhUeC9ZEROUxEkSWTZU3dXvq7qbYM8CqN23zzYiIiokM+5NOautOvBeGNsMzf+xVWcwv39g8X7EgsoR/8tydKqdVyKAzKULd37uBTTb0rHV6QJthzdFItQ2Smy1dfYbejQNwU7tgc+fjnt/3Ytb6k1YF6+wn9aToLcPVrm9ZrVBDB2WbxeS+DVRnpRTKP1t1wlys1v+GVPy5MxQP9WuoYgZkoKK4oXV1/L1bzzEY1S7vLmyiMiUxokAFa4kEMUgHsKx8KCgpSstQzFHta6ooDtGuViXVTS2vN9JtLQsR8vPa8/TgpupikIxpuZQkOcE1ppPtz0Fyt8d2yl/neVY2xWohP4cej+mCteHXO4DBb+puzOAOBf4ekt39wg3Nzbf/eqgHHv15F/aHxuH2WVtz/DfK/0lKegb2nI1lwZooN7JkTbKlZeaSnFw3OqyzxmcMeVcXrC+eAvb/ru+r3e3qxWrR7WE9tHHMD0DzEQXbvssXdfTIho/0bensnrRRb9/yV4AtXwDbZgHJ8frx7g+zWF1MylDAKRERFVl5jgSRrvHhM/T1jTOA9xoBh/4p7a1yTDtmAzOv0zltRJQnieAwuuiku/GV4c0xrE11dbwkHZDGYLGMjEy1rP6Vvw+oAY3WEpPT8JCpWC0ZzcYy+pnrTqHPe6tUN2VY7GV8vfYk4pPT1DBFKQoLyYF9Yf5+m2K1aBRkWjZr6rauH1DRvC1KDstRZfue+3Mfhn2yPteu8dyciU7CumM6GmFcp9qo4u2hOjKXPt5bdYvLsv7nhjQ1R6gcuxBvE10gneMy5E2MbFezQN+bqGxEguRveGe3+gFwdXZCj4ZVMLJt4X7XX7yhmYrreGd0a1WUlosM+jMK1FIcLY78fIdWswNQqwtQuzvQagyQmQ4sfg74pj9wal2Rv3z9QG+8NMw2N1eGwp6aNlRdjr4xBMPb6P9vWXlirEYpMhk2Ljm+ROXBvt+BV/2BN6sB79QDDv2be8FaXnO9q+nrW77UHxv0z9/3GfAq8MShgherRd8pQNNhemZStVa6uC6FatlOKVaLuHNA8iXA1Quo2rLg34PyhQVrIqLyOnSxPGoyBGh3m6Xj6ZfbgDPZh4/RVfzzKBC6HVj6oqXTgRyDnGTY9Jnu/qASsfygXlY6om0N7HppkOpqruDuCn9T5qnEd0gH9At/7cN7S47g+42n8dFyS6FWlt4//stunIhMRFVfDzVQUDomJRZDChoh0Umq8C3FZPlcIwKgX9Mgm07EqcOao36gzqCVAWcyKM3g5uKM54c2s9nuy5mWCAIZUPbC/H1YeVh3ip67eBmjvtiAjSdMhbh8+Gmr7q7u1ShAFc4M0ikt/6af7uuKmzsEqyFo0nE9cPpa1YFukGFvkvst2a7SPUrkEBKjgdQkfd07fxnWPRsF4OBr12PuxK55xnXkRU4IyUoI+dumfHJx01EB9/wHDHjF9jFZ4m/t0jlg+atAkmX1TH7Ia5fk9MvgxR/v7YIpQ5uZTyjISQQ52SjkJKf1Cbsi+aI78MMIIOakfb4eUWmSbGhDaiKw8Ekg4kD2SBCDFIyFi7suJHe8J3/fx8UV8K1RuG2sWAUYNxcY+yPQ+2l936G/gU/aZ3+uHJfKaw8VC0aCEBGVJ0kF6wJySIOnAQkRwLGl+va+X4HaXVCupaUAK14Fmt4A1OletK8lE60NR5cAn3UBMjOAiSsAT0sBjMqon8YA5/foPL9bvi/trSn3ZMCXUUQe2so2c1mKxheTUhGdkIy/dofaDOcKi72iPh6PSFDdzIaPx7VTn2fk2u4MiUUVb3d8tPyYOW5DMmYHNq9qHrAmJvXRERytavphzuYQPD2oiSqOWLuuWRC6168M6NQNRCQBdUyDEifO3mbTfS3FbonrkK7vPyf3MA9jy0lIdCLeXXJEZeCKWzvXznMJvQyJ/Hj5MXM3tXR/S6Fctvf2rnVwZ/e62badqEyS7NLf79LXA5oA7rn/nWQlJ5moFGUtVIXt1ifnja50WWWWEK5P/t5oWvafT+/d0ibXxxqbCtZCBkdKJExuZOWNREVJ1Iv1oNnMzExsD7mIOpUrIMjDamWNdHdaD6Ij+8z+OfKf3r82hv1R8UlPtcwEMMjfoSFrh7WQbOgqDXVOfYCORypRtbpmv6/7o0D4XqDNrUDrMSW/TdcQFqyJiMqTJD2MCxXyPwTM4UhRdcJvwJHFwLyxOttMcgv9C5eD6BB2zdE5bHJ5OTZ/2W1Xm5otkuOASFMsgEzQbntr0beVipcUq8XBq0wuJ7sNGUzLyETX+pUxqHlVm8eqVPRQXdPSHS1ZzmJwi6pYcuACohL0UvCdZyyd8AOaBdkMF5NObblIlMiqwxFqEJqRTS3deq4uTvh4XFvsCLmISaZ4EOnuy607WT7n5SH1gVn6dmK6i+ra/nFziG1UCIAvb2uPPu+tVgX3fu+vVkvZsxbYJO96xspj6vNT0zPVy874zrUxqIVpeW4upBj+5e0dcDYmSRXLZRn9ldR0VaRmtyg5lJ0/AKfW6uvBHUt7a6ggsu4nyf6OFKcrVAbObrUUyYyhaXbSo0EVtQpF4pMyMjPV6hvrwbpSjJb3hX/3nsd3G/TJUHn+93d3Vq+RaekZeOWfA/hxs35PGVItHqYAAiBFR03JycyklLR8D/KkPPw1We//dri7wCcuqBDkxFFGqs6ufng7cHq9XvUpXDwAXz2Xw0aNtvpSWnyqAm4VLCttqrYCBr5WtGMxyjfuNRIRlcuCdTnusDbU7wN4V9UHIB+11sslZUeoPLKOf4jQA8yKPIlbyA6jkbu2/8+ifV0qWdxRLrH8atGrUWC2vFjpjBazN51WgwaDK3nh6cFN1H1GdunRcNNAHgBvjMy50046614f2RI+nrqP5PqWlk7uEW1r4rURLbMPGMtFk0qWbYxNhoooOX/pCqpUdEfjqt7q/na1/VGnSkWVpW04YtpOKZ5LxMmXa06g93urVEFFitVSUPn3kZ5466ZW+e6OlqgQKVYL2X4Wq8nhSDHFUL9faW4JFUaQZWCiEnMKyEgHfr3TtsPWjrFori7O+OGezmoljbx2yoBGISc2P1lxDP0/WIPRX2wyF6uFFLf/3RuGuCupGD9zs7lYLS5FhJivJ0SHqo/P/bEXHV5fjh0hBYszIRP5HZAc5ajjulgtdnxX2lt1bThvOk5rOEB3U0ujTKW6+j5ZPeBcRvcT7v4PGPo+cP07wIRfuQ9egthhTURUnlwLHdYGNy/gzn+Bfx8HQtbrgTRf99E7FPndkfDw0wM13DxRpsmwD8PBBUDVLAdheZEJ1gfmA2G7dEE/bKclJ0461aVj56tewNktOi6krO4ski052UDFTrqbRYc6lbI9ZkR7GAWJ27rWQaCPfi2RwYnSVXzkgi4Evz2qFar55f460zrYH6uf6quKGnK90IyJ9dKs5KTjf6SIPrFXPbg5O2PpwQtoVl0ve5bc6Z7vrERSSjqmLtiP1sF+Kq877JLl9UbyWCUbu3fjwMJvE5GjunjaUqxuOaq0t4YKSvZxtnyl48+ijgAXT+lhtPFh+j1U4tBkWHnsGaCSBCjZh5zclFU5i/aF45OVx5CSloFNJ6PNdfEK7i7qddeaDNZtW8sf205fVCcvXx3eAl3qV8EH7661RP9u2YutkXvx245z6vYbCw9h/uQedtvua8ba94DV0wBXq/fka6HRpyytEqzWWn+U7Of+U4E/7gXqdEOZVdpd3tcwFqyJiMrbcCAhSx6vBYGNgbsX6q6ZGaYdiUVPFbwDZ9RMoFoZnvBsnfe29xeg73NXL8rLz+TP+3TWcU6kUC/dDZInJ8vwZLmsHMzllB9HZRC7O4pbWOxlhMddUR3FUszNSrqWDRKnMaZjLfh6uqrrUqCQzuYDYbqY3aiqT76GrMmlSFISzFfdkKbysO/vXd/c3SxD3KwL7hN71sOMlcfVUEa5GKr7eeLJQU1U/jTzpumalJ4GRB7R14d9CDgXbngilSK/YGDQ60BilKlgfdoyZLF+X93kIQU06fq0Y8Fa3NCqhipYrz5i2X/rVr8KRncIxpCW1VTResupGDWE9uGfdmLzyRisP67n0Lx/SxsMluiltBS87j7b/Pmpl8Lx87azNiuAFu07n22+wjVPzgysfEMXQ2V/Wci+7rKXAd/qwPrp2ZtBJJ/+UijgU41/68VJcp+tBymKVjcD1dvov1eiLFiwJiIqTztoRod1eR66mJPK9YBWY/QARumYaDQof593ZhMQcRCY2Q+4ayFQqzPKJDnYMkhRWfIX8xo0GR8OzL4RuGQ5sEG723Un0aF/9O16vfRH2aGXYn3oDn3QxoJ12WW9bJkd1iXWXd28ui8quLvm2mEthrepYb4d6O2hOqVf/eeAitcI9PFAy5olNNA02VKwbhTgiT/u7J5nFMfwtjXw09azqkAtESFta/uroop/BXcWqunadukMkJ6s9yn8TUvWyTEZ+zWy/2PMO6ndXe8jScFaVp81H2HXb9m/aZCKX4q7nIqRbWvipvY1EVypgs1zjJkGs+/pjGd/34u/doepk4wDmpnmJWyfhYq4bH5+kNNF3NW9rurE3nMuVsWKfLT8KAvWWR1dDKx739LwIftOcpyw+TPLczz9gZ7/A5a/om/HhgDTm+vhqv2eB5oN54pDe5OTBkasYXVTh7UhoFGpbBKVfSxYExGVFxLtIAdX10okSFbXvaQ7IzrfD/jXyt/nJEQCv90JhGzQwxvLesHa1QtIuwxs+Bhw+l/O2ysFq5/G2BarhUSlSHSKUbC2nnpdva0uWJ/bAbQcXZz/EioKY+CLYH5esTMGJravnXNER2WrbmhjKKII8NEFa6OzbnLfBjZDt4qVcdJS5gS5ZsInjxgS0TDIB9tfHFACG0bkYIz3Xe8gFq4cXbvbgI0z9El5I0O3dlcgugqwc7blPjvycnfJd1yHvD9MH9tWrYCR12R1slCKrNtME3RN6rlfQt8bm6vIkX5NgzB38xkcvZCgZhA0qXb1VTzllsx5uRhi6tp1Ala8bnls2zf6o1OW9+CgZkDPx5Ha4ha4fdzCcr904v92J443uBP1JnxcvCdupfnk9Dqg28OAaxFXVzkCWbGSngJ4+PIkIOUbC9ZEROWFUaiQbiCZZnytkSK1LP0sCO9AnUspBWvJMCzrkSDdH9bZe0cW6stdi4C6WQ6I/n5YdwzJSYvezwCLn7XkdEsOZ5dJutPEQw9DU+RrbJ+lu0+sO1DsxcUdGPYR0G4CygQ5sJG/Efn/dyTGUmajU0UOaFm4LjY7TR3W7XPIrxYDmgVhVPuaaul2A9NwQdGjQRXsORurOpYl13pY6xLsfpPVFYaM1JL7vkTltWDNbFvHJ80Mg6cBCybr285uQM0OgLtpX1k6rEv5/VSK0NYDd3FqLRB9DHD3VgPfMr/ug7rpp4GYk4CnH/zO70H/xv5YfCgGf+48hylDm+GapOaw9NEd0tKI0f52IOJA9udl2maGI6Cx+vDG2li8arprY3pz7MxshIddFyD4+E9YsHEiRnXRzwMyc17tJkM7vSrZzsKRx6NP6M5++Z3K+ru1YYYu3spMmpR44HKsPn45swWo0hCoWKX8x4HwJCDlEwvWRETlRZJxcFWFRayC8DflFsZm6Ugui/+3LUbpgrVh8+e2BeujS/WARWdXYPzPugO7Vic9YFFILt+Qt7N//Xp9i3f7paNi1ZtA6zE6gqQ0yVT4TzvoZZ8Pb4VDuRxjW4yUAzX5ee75GWh4HfP/7EgGJhr50zkNXBQSE/LhmOxDeGTI4aPXNYKnWynkYMaftz2pQURFe9+91iLWyqu2t+qVdCdW6OFpUqwOaqH3l+S99dK5/K/OKwnSRCBaj1XxCU4N+gPHl+v8ZWlQObIIb1dphyV4Er/vOKdmDsj8hGvOmnd1sVqc3awvIrgzcC7LPt6AV4HlL+vrvjVxKSkVszeFoI9bW/Ry3odX0+7Akcxa6O+8G82dQzBqeS9geT62QYrMd/4D+NbQt1e8qv+fGlwHpF7WJx4mLgcq1QV2/wQsm2r7+dL9L930qYn6dpOhwKA3dMG7PDUmhO/Lnl9NdBUsWBMRlRdG9+W1GAdSFH61LHmVZVFaiu7gMLqEej1lyeY7vBA4tgxoNBBIvQL894y+v+skS1yIdBFdjXRzyMFQyCbg1l/0IEp7yUgDvuoNxIXqXEHp9i4tcuDw9yOWZZ9X4gDPEsoWtneWuZBMcpl0v+tHoOEA4LY/SmvLyp295y4hLSMTQT4eKlO0oJ1ypVKsFgkXLNdZsCYq+qo17lOVD1L0G/k5sPxVXbwW0hUr0RBSSPuoJTDlHOBRBqI14s7r/TvR6V79sefjumC9a475af7Ru9DOOxY7Eypj+aEL116WtXQpb/pUX6/bS8drGPnUsj8k+5zSlCIDyGVui2RWyxyYXXMRHjwIt3+5UT39odRH4Y3LiEQl/HJ/V/hEvAIsvjv/2xF9HPjnMWDCb3q1pjHUUU6OGE6uAarHAv8+nvPXMIrV4sgi4PR6oNtDwNaZenBk5/vg8M4bHdZZ8quJ8sCCNRFRecGDq8IxOmqkKCwXTz+UyS4vyd+TnXDZcQ3uqLs0Dv0NbP1aF6ylQ0N2xH2qA32eLfj3GTcPSEkonm4y6ayWgwpZ/lhaBeuMDOCPicAZfYCiSM63p1V2YVkXtsv29vqPdLFanFilT1pVqFwqm1ZeBy5Kd7UUoB2GdYc1I0GI7BAJwn2qckNO+t/0he19gU0tnZ9HlwCtbkapkhkly17S1yXioqppH6VuT511bBRoTe6qH4+deytj3tYz11bBWjqPFz6pmyIaDwF6Pw1809/ys5JmBNn3FP8zFUrFsI8Q1u0VjPhqByLjk1HN1xMp6e64lFwByx/thYZB3sisdxPeWHcMabHnMD+9JzKdXfHNnR3Rua7sX2XZH5Du7i97AceW6t+fM6YOb+HiAfjV1DEukYeBDR8BaVd0U4g0cbhVBG77XTdTLHsZiDmht/3cdr0/Lw0JYtFTjluwln/L/Af1oPhz23IeuEiUBxasiYjKCx5cFY57RcCrsl4S+nZtYOSXQHyYLgbe/hcQnI8O5ZL6f1WZb85AkyG6sC4Fa5m4ffE0sO4D/bzBbxauQ0g6jawz+Oyp+Qh9kHVkse76LOlYEDmwWfwccPhfnactESVGDIxxMOgIJGvd2raZ+qMsaZaDNunKkeFSZMeBiznHgZRZ1hnWxu85ERW+CYCRIOWbdFvv+01fl8J1o0Glty3JcZZitbFaLutw8ZOrgQv7zXf18ZNVNXWw7lgUzsYkoVbla2SGjcS7SEe1zO2RqDtp1sga9ZcTJyfM3hauitWNgrzxw72d4ePphvgrqajup1dTyUnqZx5/GqnpGYj7az/+3BWKh34/hoWP9kSQT5b9ZNmH7PKAjuj78369PyZu+R5oOgzY+QOw8An9uJB997sXAU7OumDtYnr+3aaOepGWrDuxd8917Bx92ff+71kdiSIXIfvgEslHlE8sWBMRlRfssC68ThOBte/q65IRLV0OxvVbfy4bAxcrBmbvCjK6hH8Yqbs26vXWOddlTc2OeiddOthl6Ep+YkrsucMsmYVbv9K3h38CHPpHF6/lZ+co0tP0QB4x4BVg+Sv6eu3ueqnrmnd0BzsL1kWWmZl51YGLZZZNhnVaaW4JUTnZp3LQYhHlj8ShDXxd5wpLB6xcyoLqbbKvSHP1AMb8AKx4TRdG9/8Ov0uH0avRUFWwnr8rVM1PKPek2UCKwKLnEzobWsjP6/gKoPPEbJ9y6XIqlh+8oPo+ft6q9/0k99soUnt72JbFJA9cLm/c1BL7wy7h6IUETPljH14c1hx1KleAs7NVp7Xsk53dAoTu0LcrBulitTRnBGYpzjYarIc05kX+n0d8BvjX1l3WUuR1ROd3A6Hbsx+7uDrov4dKBQvWRETlBbuBCq//C0DN9sC8cZZitZDuDelwLs2fqfn/NcuJCIl+kI4SKVDJ0kG/2sCNH5fN4SxyhCBLW48tAWb211mDxS0zQ2cJyoGBMZl82HSgzTggbLe+LY9LrqAswZXllnIgUVYnl5/fozMOJRam+6N6qWnaZX2yRfIupWAtS1JlZUCXB4uvW/4acCYmCdGJKXB3cUbLmg6UcS459pd1oV1hJAhR0U8Wswmg/MtaVCxNzm7AjR/pYYsyKDsrGcQ3ZraeObL/dyB8PwZ1r6YK1ttDLmLTiWjsD72Eu3rUhZtLGd2fKao983QDRI12OtvbMFoGFybZFITT0jPw8t8H8NuOc0hJyzDfLwXq/k2DrvqtjOHKwz5ZjxWHI9Tljm518NqIlqoDW/2MjRMJMq9F9tnbTbCsJAxsZvsFezyWv3+j7MtL978UrCUa0BGHL8qqSiGrFmS+RvRJoPP9pb1V5GBYsCYiKnfdQMywLXSXjRwoSJFHlhjK9ZR44L0GQJ0ewJg52YvGpdlhLaRTWTqFpbP65u9LZ/vyq043XbAWxmCckmB0UQ+eBnS8R1+vXF9/lIE8kgst2yPDcZoNB8ZaBhqVKSHr9cc63fVBbLfJlseke73hQOD4Mt1NLvEgvZ8qtU0tL/nVUqz2cC2l4YlFHbgoGAlCVDgSsyUnCctaMZOKR0Bjy/UHNwABpdilLPNKjJiIvBhxZnHn0NG0e7j2aKS6GO7rrfd1MjIykZSaroq0yWnpWLj3PLo1qGLuLjasPxaFk1EJCK7khdqVKyC4UoXSGyBskHxnN6+c53m0GmPbrSuFY7mYnLuYhEk/7sS+UD24XJqiMzL1Y+1q+6sO6vxoWdMPg5pXxdKD+j120b7zqlg9z9SpPW1UK4zvXBu4fb6Ol7Euost++Z3/6uOKWp0K9m83VnfIe3lyvGMNCTf2sY1YQFn954hFdyp1LFgTEZUXjAQpGtnJrdFWDwXp9RTQdCjwRXdLdrAMPbnlu7JVsL7hQ92BIZ3B+TnAKU1tJ+gJ4XKQVbleyXxP6UaWwoP87JoPt9wvQ5Uk7iXqqL4YZGBOaWRs58XYwQ8xDYuUkyc5uXkW8M0A/e85+BcL1tdyfrW7jz7ZJqsMMtJz7tIjotxtnan/fuREtnS0Uvkm+yT9XtQzTaq1hEOQ4qVEYVw8jUY4DQ9XZyRbdRDP3nQa9/TU+1p3fLsFG45Hw8/LTUVjiJr+Xlj0aC/4VXBDdEIypvy5z1yQNcgqo88ntMeA5lVL+B8nrdEpwB/3Akf+A+5boSNSshasZWVkFtJF7eLspC4vLzhgLlZP7FkPzw9thvrPL1K3m9coWPF3xvh2CIu9jKEz1iEqIcVcrBbys+vVKADB1dvgpGsDJEWno2VNq0+W2LbCcK8AuFXQXePSZe0oBWvZvw7dqSNBhJELz2I1FUIZP7olIqJ849DFortxhi5Od7hLFy0lWmHLl/qxA38CLUbqToGSFH8h9xxNn6pA0xvgELyDSqfgnxNZhXDD+8Cvd+jbMvxG8iDTk/Uk92qtsn+OxG5I57J/rZLbThmuNG+8PlgxSId1TtQgn8XA+w314Cgp1Bu5jlQgO0Ji1ccOjppfLb+jEQf1dTkBw4I1Uf5JJ6MMShNdrVayUPnW52k4HCniXjwN12UvYGid5zHfKtHu3MXLWHHoAiITklWxWhjFahEaexm/bj+rurC/WX/KXKyuXNEdVX09cSY6EYkp6Zj4w3ZMGdIUD/QpwRM3Mn/hz4l6sLg4vR6IPq6LoBIpJ+91st9mta8mheq/94ThjYUHUaWiu4rxkPgOw4i2NVXu9BcT2mPB7jBM7tOwQJskneb1A73RuV4V1cUuP6f6ARVVDIvo+c4qjGpXE8sOXUD8lTTc0Ko6Xh7ePPuQxjxIfMmBsDi0DvZTgx/N+/6XzgCJ0ZbVgWWZRLWsfMN2Jajs/xMVEgvWRETlQVKM3pkTVQq2E0ZWqjbXF8OgN4HWY4DDi4B1pgKnLOuTJZslRXKLRVmO+3BEcuJBIkDkgCioBeDlr6NBpHPHumAtXT7LXgK2fKFvu3ohc8g7+DGlDxYfCMdDfRuie8MA87LblPQM+y2hXfCIbbFaVGud41NjElNw/w9H8Il/e1S/uB04vBDo9pB9tuMakpCchiPhcQ46cNHUYe1nVbBWOdbMMyfKt11zgeQ4oEojoMF1pb01RLnr86xefRW+D+9UeBynnCYjrkIt3NC6On7YdAa/rd+ruqT9kIAH+9RXmc0Sk7HqcCT+2Xse+46dAjr649SZs+o54sV+zTGqfU1V8L7hEx1F9vl/2zGskafqyg6JScLpqES0reWvOrbt7sIBYMnzltkjIvIIsPxV3VSw6VN9X/1+uiPe5K1Fh/D9xtPqemxSKkZ8tsH82Pu3tEGrYD91fUir6upSWM8PbYpm1X1wZ7e6qOHvpQY53jdnu1oM9+euUPPzFu47D/8KbnhqUBO1X1GrcoVsX0v+LySGpVJFd1Tz9cQPm0Lwx85zeOb6Jpjct6Fl318K1tJh7QjkpIK1xtejvEvPyFSrFMLjriD80hVciJOLvn05Rbrt/dTfi8TwUMGxYE1EVB6cWiPZAXq4h2+N0t6a8kNiNqQ7oGorHRdxYR+QdqXkt0OGK9brU/Lft7yTIYwePkCLm3RnvRSsD/wFtDd1XidEAL/cDpzdbPmctMtw+udR9MsMgEt6a/zv21vw0T2DVOfSu0uOqCWjfz3UA82q22HppixJt9Z4SK7RL99vOKU6fb52aYaX3ViwLqw9Z2NVxqUcmEuXmWN2WNe23Ccd1kSUf9u/1R+7Tiq7Q3iJhESsTVwOzB0D96gj+MvjJSBdTroAT8rbl+ktQZ2z3KIvksgup2HekPsk1eJdQK0jNN7ulutLsLwfWr8Ffq0/1DFdip2Luz5hdPQ/YOdsfZ80jKQl6+OdHo+an7rtdIy5WJ3V9LFtcFM7+dfYR9NqvpgyxLJ/J3Eph167HgfPx2HW+lNq4KUMajx0Pg6/bT+Hn7edRWZmJv5+uCda1PBVTQ3GbIzHf9mNbaetBiWbvLv4CDxdXTBv6xm8k+IOFXwiq+bKGll5uGsO0OFuwNsUWxi63fY5jQejPPtnTxie+2OvWo2QGzl5Id4Y2RK3dS2Rv55yhQVrIqLy4MRK/VHyFsn+ZKjLXf/ozg91QqAEc9hk2aNfMJf1F4eKAcDIzy0rEzbM0MMXz+3ACY8miP76VnRO3YYUV29sd2mL7smmwYcAgp2icKvrSnTJOIRHZ13EgUxL/MaPm0PUjql5SWdhyaT7uHPqagac8LbzfehwIBx9Ggdm6+IOjdUnUpamd8TLbnN0Af7jNjoiyKsyMOIzHSFDNiLirmDDiSi1zFeK1FtORjtmd7X10EU/Cc+U371MFqyJstrzC7DydeCW74Hgjpb7Y06qwh+ij9nmrhKVZRL9de9SYP6DurhbHsjJeYltC99v+29qd7s+EX85RjeTmAZNSmyJQQYr/vJAN/y7JwxuLs4Y0cY6TLp4yP6YzLxof2slc7RH12krVNa1YdnBC3jxr/3Ycy4W1X09VfetMQCyVU0/dTsyXorx2mv/6lVSi13qo73bFuDQP1ki4Uz7lzb7mVnvs3rM3vnRKUnA348AEQeAVW/q4e+3zLYMq73KqkBHJqspN52MVgO6P1x21Px7J/EvVX09VLNDNT9P+Fdwx4wVpvcTQD1XVi/ICQ0h3dde7jy2s3vBOioqCp06dcKqVatQt+7VsxHXrFmDBx98EJGRkXj++efxxBNPmB/7/fff8eSTTyI1NRUffPABxo8fX9DNuebFXUnFZyuPo3O9yriuWdUclyj8vScU/+45rzqvZInJhC7l6MyOrL+RQXNSdCC6VsnfwXFTwbph6RWs1x2LxPydoZgytBkCfSxTussNKR7W7VnaW0HFOXSp9Vhgz0/IWPMOPrswGB+mbkN6phOGJ76Is5mB+NX9LEIyq+JFPIQFQ1MRvH4KGiSex3S3zzAi80N0rFsJ645FYe6WM2r6/Ms3tsj7e0rOnyznlcJJThl/Vt19v6f1xte7rwC7dyDA2x2z7+mMFjX0Elch3T0iFIGIcw+Cb0qE7sgxunIkk9URMzqLiXQ8nYpKxIRvtuD8JV3sl+6nCNMBY9/GOQw5dZQOa1mRId1psnxaRYIQkXL5IjD/fn1dop7u1gPYlJ/GWYrVQmKiiByB/K7e+rMesmvy1qKD+Ga9fv9vV8sPf0yyHdh8IjIBH684hn/3Gm3YwLE3hqhhhVmLcwOnr8GpaEs82X296mFYqxp4+vfdOBqRiPt71cNzQ5rZ799jNGhIHrL531hZd1WrFUR6mKTEadz3w3aVXz2gWZDa57qcmo7GVX3QqW5llBZXF2d8d1dn7D57URWiP1t1Al+vPam2TYSZ9jkMfz+s/2/OxlxWz7991ha1DykZ2StC2+N5zNNNCF/1Rpl1ai3w3VD9Gitqdweue6lcDlqc9t8hzFx3ynxbBm5+d1cn9f+e1cXEFKw5GqliQnR03w58fUcH1Zn97B/7VMTM/b052NduBWspVg8bNgynT+dvSYIUqYcPH66K0lKMHjduHNq1a4d+/fph//79mDBhAj777DN06dIFo0aNQvv27dGkiSxUofwIiU7EvbO343hEghqasO2FAdn+UF775wBmbwox335h/n78sDEED/atr5bHyJmdK6npKjvJIS2eonNFx/xgGYQmxbtlU4HYM3ric2Dj0t5KouIVdUx3Ybp46B2EYi7ybDoRDQ83F/NAMin6LNwbhveX6rPMF+KvYO7ErsW6HUTFoteTyNz7M5yPLcGHWKLu2l1pEDzcWiPxbCxuSJmm73tpoOqcQJMOwIx2aOwciq0Pt0SiW4DqqhF/7gzNu2AtB2IySV38eqcunGTZsc9IiITxrr4+oxXu6l4Xf+w4p7p2Rn62Af891gsNg3yweP95tfzU8F36EDyG2YirMxi+NRrpzMfjy1mwlprulVRVpJafV2q6bm+SHE5pAJBhR8LD1RmDW1aDwzEyrL2r6qGxUrBOt3R4EV3z1n9kuS4FoIhDQFAzPWgx6ojlMZlT4e5dKptIVGhWK/ECfSsiw7QHUc3fO9sqvQZV/TDj1o7438AEvLnwkMrYdXF1zfG8+W3d6+PVf3THrxSGHxnQFN4ernhsYDNMmrsTSw5F4bkb7NcpKh3KyWkZqCjzGAxyrO9fWx2HSPTGkfB4NWRRnifb9PmEDqrIW1ZIZrZcDobFqYK1UayWYYx3dKuDsV/rqDmJjzNW49WuUkFd1j3bT3XhyrmD5i/F4te0Pujlsk89x8PFSXV0y36Ki3mXUe/LpGVkqn0c+fkZ9/l4uMKzuH4uMgRSVp2e2w7EhQKRhyyPDX0PqNYS5c03606ai9Uy3FMatGTAZ07FavH6SP0z2HoqBnd9txXrj0eh+Uv6+EK8teiwaj7pYZqFQ0UsWEvB+dZbb8WWLRKCdHVz585FjRo1MHXqVPWH+NJLL2HWrFmqYP3NN9+ojxMnTlTPffjhhzFnzhy88YbVVFHKWUY6jm5fjmn/HUalK2noJC9Wl4H9m9LUkhI5M3o4PE6dyZMzdfL4Te1rYMfpWJyJSQIigJ9+3Yb9m/xwyHRw9lC/ho7zhyIHYlUaAEeXWoZgySA06Si64UP92MZP9P3n9wIPbdXL+YnKexxInW6Ae/ahHkUhnRWyYyhnhn293FQXteStyU7hxuf6I8DbA0/8uhu7zsSaP0emkUvXQ89GDvKaQmSSUbkBdvteh/aXlqnbVzwD0eH+L7GgQmXzQZLERqhitbGzLgMaw/fBZ/H/4ONTDYvqxmHvuUtwSXdC5oK/cw+PMeIbxJmNwMG/dJa2yfEL8agdHwH5TtNTR8On4xi8MrwFxnaqhSEfr1PF1nu+345v7+qIx3/RSzAndKmNxfvD8XHiQGx0qo0dRxrh53Z10RGfAue26s4XWSlwDZNuMvn/MchB+sw7OqoDwxWHI7DheBR6NgxQB+MO3WHtbNr+9LRS3SSiMiPyKLDhY9v7fr8XmLwR2Pd79o7VctgZSNeOIF/LSkeJJ8hN/UBvzLqrU55fa0zHWpizKQQ+nq7q/dIosPZqHAg3FyfVuCId2w0C7XOS56nf9mDBnjAVf/Z8+xfR2N/JvMJx99lYvLHQUhiVQZKfTWhfporV1ppW81GFzehEffJ4Qtfa6FK/CtY90w8fLD2CB/tm766VaAlDgLcnnkl4AMjyVi71nl8f6Kaah2RF/c4zF/HaPwexL0bv31Rwd0FSSjoa+FbEssf7wDlL57zdxZwCZrS13JYow3Jm44ko8+/ec0Oa4sE++e+MljSEOfd2wV3fbkV8suU/U3435FiaclegvfGZM2eiXr16eOyxx/L1/D179qiitPGi1rlzZzz33HPmx4YMGWJ+rjz22muv5fn1kpOT1cUQF2fpJrqWHDwXheaLxuA7uWH9+y1DEkyaSk6O9eMHgFuzPj/C6jdgneniCCTPdfwvsn4m+4Haz+OBVmMs9108BWyfpQenEJUnl84BYbsA/zrA4meLLb960f7zeHOR1RlzE1l+J0Xqfk0CzV2J1l74ax+eu14mafuiboBlijdRaToQdkl1EsmO4+j2wTZT22XV0juLD2PHhRH4xv0YmrmGw/OWr4EKelmp7MtM7FU/+xeVYZjh+4DjusjdXC7Ge+uuAmzc4ueBhgMBD291ouiNPzbje9MRypfpN+LVYF1olr+p9rX9sfOMPgk9ffkx1bnTvUEVvDq8Bbw9XfHVmpPYkqmX5763JQm/BDTR3YMn1wAtRqK8OxuThPEzN8PdxRkfj2unupyEnHSQDnXxaP+GuK93fVWYNvZT5aBcLg4p9bJl+bRPNR0JIthhTQSEbAK+u15fr90N6PcCMHsYEH1czswDe362fb4791vIsVkXPavnUbDOj4oerlj2RB91Ytd6Noe8f0r0xsYT0epkrz0K1rLye9H+cLVgevWRSKxGcxW30M/0fSUL2vDs9U1xT8+65iGGZZEUip8f2gxP/rYHfZsEonsD3cwj+58fjWt31c+fMa4tft9xDs8NbaqOvX7acgafrz6hitQv/70fs+/ujE9XHcd3GywJCBIZJ/uJ3d9eiRORiVh1JCLH6Fi7x+rJzBSJai2nkUrztsqUUqjjhwd653A8cBVycuG3Sd3w8fJj2HwyGsNa11BxvT6ebsWwtddowVqK1QUhBeXmzeXQTfP19UVYWJj5MeuvZ/1YbqZNm4ZXX30V1zo5ExrmGqwWekhov3RZnbtoyZWSNxI5KDMEV6qglo2ITNMbgSx9lRd3Oft2IS4ZKWnpqFzRHZWMrrGy6koskBgJ/HSLvh3YVB+gGV1FYt+v+qOp6w1LXwQ2fQ4ENQVGzwI8LZN9iRxSWgrww0jbrEUh07TtTApfRj6XdJbKzpLk4UuhTM7m1w+sqO7zcnPB5uf197/ug9UIiU5SywQbV/XG0sf72H27yPHJ+1ZY7BVVPC4p05cdVQdWcvlk5XE8dl0jPNK/ofpdHv3FJtOzKuPo8H/Rqk0g4JaPg7zeTwG+NYFUy/vwrA2nEJ2QgjEdg1G3Sh6FD1ly3nI08M11QGwIsPZdYOBr+GX7WZw9e0qdZE6EF9rUrYbBLSwRFb892B0tX16iCtULTfmTcuAmSxLHd6pt/rsVshw1o+t1cJaCtcSClOOC9fGIePy4+YxaJixZgeLGT9erfMjalStg/EwdBSKF7LGda5evgwQjDsTVC/D005EgghnWRECIZWAuBr+ljxFk/YvE5kQeBs7mb/UwkaOQ4W/56bDOr6zZ1gY5WS77VC8tOKCKsP2a6Hkce87Gqk7p9MxMVdiWi3Ro39Gtbq6ruveHXsLcLSHquEJmdTQK8lHD7bacikHNSl74dOVx/LtX14s+HNMGo9o7Rhfv6A7B6nipSTWfAn9u94YB6mJ45vqmuLN7XVz3wRrsD41DhzesOhYB1K1SAb0bBah60K2da+OrtSfVIPBiL1gL72qWgnUpSExOU7879oy6ld9JOXbYH3ZJ1czE7d3qFHqoetNqvvjiNj0wlPKnWNc7urq6wsPD8mLp6emJpKSkqz6WmylTptgMbZSid61aDtoJUwSeXhXh/8weOMEJzu4uqmn6j8WH1dk2a3Jm7anBTdDAdCZPyJ+Wl+liWLM5RE2t7V03ED/c0xll2oWDwBfdLLdHfAZsnAEcXKBve/gCDfoBlerpIsLs4UDYTuDSGX3ZORvo/kipbT6RXWybmb1YPegNu2eFzdkcgn2hl8xdinJSS/xoes34YvUJbDmpd0ykMC05sOL9W9pg4uztKkvt6IUEVTgyPpdKjvzc5cRCs+o+qmgpBxJlZdmZbI90wF66nFqopXUFFRZ7WRV2ZfCJkJ9DVEKymthtTPg2TBvVCqML0mUrERvdJtvcteX0diw9eAGJznXwau98/F0OeQeYNw4Zm77AxJCBWHk8DuNcdJ5qxZot8Ot93bIdONaq7KX+vkTHOpXQppbuZpEVDbJE18hnlqWHp/y7oQE+B46v0HMeyuhSdznQkE1zyyULMCeS1/jlmhPqwG3tsUj1zxNybJ1huj780w3oVr+KOed76rBm6gRcuWIUrH2q6v9fo2CdzoI1EeJNXZm9ngRqtrdE58SHAdu/1S09VVsBF3ROrPmFhMhBBflaitS+xXhytmv9Kubr7y4+Yi5Yy3ytYxF6H8WaNLQs/l9vc67von3nsedcLMZ2rIW3Fh1C3BW9skxiMySeSwrW8h4vF8MNraur7lRH0q62/eLYqvp64ps7O+Lp3/eo+Fch3dsTe9ZXJ+eNYuqNbWqogrWsyJNmxsIWWfNtwMvAT2P0APMS3nfMyMzEmK824XB4PKYMaYp7e9Yr0r83OiFZxe/+sfOczduB1NfamFbtUTkoWFeuXFkNXjTEx8fD3d39qo/lRgrc1kXua5kE8VuTs21yOROdhJT0DHi5u6CGn2e+/lClmGHkZZZ5VZsDne7TBTuJPwjuqIvThv/ts12Ccu8y3bV24E9g5RvAju9ZsCbHJAOBPHyAxChg9Tv6vopBQKubgZ6PA956B9Fe/tt3HlP/2q+uX9csyKbgfGPrGpi98bTaEZWdIGHdNdC3SRCOvjEEA6avwcnIRNVl0a+pfbePcifRFtKFIvl/shNnrZqvJ7o1qKKKsjK0paidDHJSo02wv/qa+e2qlt+rVUcs7//i7f8OqwOqW7vI9PfsXbOyIsg6vqOg3RE3fb7BXMCVjm7J/TNOvBgqurtgxZN97dKJNKFrHVWw/mFziDpg6Hi1afWNr0emV2U4X47ByJA3sR4PYmTF/YA0CTcenOOnyEGJUbC+p6ftCrg/JnVX/zYZyiwZhquvNEQD6byV4kzEQaBqHsMgS9DSA+F4fr4uEMl+S0Rcsvp//veRnur3UzqpJG/6iYGNc/x9lQOwB+bsUN1dBineP9S/IXo1DFAHau8t0YV/OegV9/euj9u71UW5Y51fLWQIr0izROkRXbOy/n0I/1r6NVGOKWB6rTUXrG3fO4kcjfUchkZVi2+AqMyBkKgyOSEsl4j4KyqORPa9hLx/t6jhi4j4ZEz5c5/aL5HV3pHxyarAaLCehSP7qnd3r5vtff/6FtXwcP+GaFmTBUM5UbDumf5q1fz52CuoU6VCtp9X46o+qulImkOksC0DHYuVvIZO2qTnu5SQi4kpGP3lRnW8aZCcaWlQkZ+Jq7Oz6jqXrvT8FrBlaKX8bkqcihjZtgaGtNLvHb0bBRZ/4Z9KrmDdqVMn/PTTT+bbu3btQs2aNc2Pbdq0Cffee2+2x6jwCvNC1DBQF5rCLl1RnUpSDJc/w7zC+eUgUQ4C5209gxdvaK6WutibFCnkzWtku5qq2yo09jJ2n4lF776vwad2V50bKmTIoiFrXpKLq3688/26YC1ZdUkx5kxSojJNchUlf/SPe4Gji4EbPgDO7wGSL+nlrPevyTb12x6S09Lx1n+W3GrZObTmV8EN/z3WSw1f3H46BmcvJmXrjpXXD9mJlR2IHSEXVcFaXjckcy23Scpliby2SRG1XkBF/Hx/1yIXd0uKdBKP/mIjohKy59bK/lV43BXM3xWqip3bTseo/4t3RrdCdb+CdZvKgcij83bhZFSi+rpDW1ZXO4M5xXvIAYx0N9/UvqaaMr/2aKT6nMHNq6n7FuwOxaJ94SqLTw6qJA/Ruvg+dMZ6FV+15ul+5i7+gpC8QylWy//lPT3qqvcUcVvXOuqg6KUF+9G/WRBeGNpcFU3tQQYF3dIhGL/tOIdnft+LRY/1yvt3yMkJZz0aovblrRjusgnHM2uic8Ze/VijQTl+isR9CekUHtTcdqln62B//P1wT3y99oSaQL76ZDzulYFFkrMtsSClULCWA9SD5+PUCSwpQksMi3RaZSUHszNWHFNDpJ/4ZY86CS+vI1/d3iHbkuQVhyJUsVoOyB69rqH6mQxpVc2cZykDpSf3baAK15JP7uzkhDu61UG5ZO6wNkXHuLJgTZRtyK3x9yH8atlGgTQZAqx7X19nwZrKgRVP9kHc5dQC7+MVhOxHyjHB8E/Xq/f2NUciMaJtTRw6rxvhhrepoVZ+yTGAvA/HJqWq9/l1x6KyFdgTktPw+IDGKqpNjiN0NIiHqk/8dF9XlQFMtqTZw7dazvvGMoiyaXUf9f/yyLydqOLtofaD3r+ltWV4eHE0F5YQOaZ87JfdNsVqyWuXkyHy+7XOajFyZEIynh4sU96uTmYzGcXqPyd3R3s7dsdTKRWsJZrDy8sLbm62fyzDhw/HQw89hOXLl6NPnz549913MXiw7hQaPXo0evTooQY4Spb1jBkzcNttt9ljc6iApPgU5OOhznz+uv0c/tkTpgYWyTCi5NQMdVa0XW1/9SJnkK5KI4JEBrINbVXdLgf6MhBL3phkuMBHy4+qIsM/e88jNilFvdgKyYCaP2mE2m5Flp2cWmueHpwjyXOU4XTSbX1hP1BPL0UiKrOOLAbmZVlS9Y/VwNvB04qlWC2ke1rOxEv+3aqn+mZb0WHsoEpXbV6dtbKU78+doViwJ1TtNP2y7awqPP71UA81wKWsktebtxYeUlEKMo181vpTagq5dJCUdVJkl2K1TCV/86ZW2HsuVhWJu9SrrKbAv/HvQfy87Sw+XmHZi+v73mq19FKKudIdfzVyAmL815tVIdHHw1X9nBbuO491xyKx9YUBuJiUgu2nL6Jj3UpqeyRPWJbTfb32pPoc8eek7ublkVJsffinXepr3PLlJpWXLgcpd/eohx82nVbX5SJFzKnD9I7w4fA4BHp72LwvGUVR+Z5y0COFXOkq+X6jHkQzsVc9TOhiW6wc0LyquhSHF4c1VxEVUtSX2BEZupPV+mNR6j1Xfs8ejnFGbdOf9BOuv+uJ8NINWL1Njl9flsT+t/88pgzV2dU5GdCsqipYS1E3cUg/VDQK1j3yNzzbnn9Tg6avVfsZWcmEdBkQJL8b3284rX5fskacLT90Qf3+TOrbwKYD5u3Fh9X1e3vVw8P9G+X4vaUTRk6odapbSe3TGIX+ct9BahSsJaOX6FpnnNCRjFXrIWGGCgFADVNUiGDBmsoBewxBzK++jQPVsboMSpR9fnlP9/V0VV2uxntx8+q+an9Ecqp3huiOallZJwOjpbAuMYTSwWo0zcnXkRVXkoNd7mK8SogMeZT/lz2mOop4d8kRvHWT5PgDEXFX1D6zzEhzFHJMIM0ocjwiTTAyq+2FG5qhYaC3Op6RY59vN5xW0XAXk1LVcz5bdUI1vdzfu0G21aJybGp0Tcu+pTHYc0CzIBarywC7VAxat26Njz76CCNH2g7yCQgIwPTp0zF06FB4e3vD398f33//vXqsTZs2qljdsWNHlV/dqFEjTJ5smwFJJUeyL+WP8/V/D5rvk4N+g6ebswqIN3KpZBKwdU6qFJen5HAwnl+Sg/vgjzvUi0pW8iJjTc6i/bbjLCb2qm85KBv9zdW/iXSkSsE6nAVrKsOksieDRP951HKfs5vt4CyvynmfoCni0ioZRieeHNQkx2J1fsmQOC+3/ar4bZ0TLFEMDxRjXnFRSWFMirAGWU0iF8n47904sMDd6vJfmpqegX/2nFfxKpI9VxxkVYoxjOaDMW3QooafylqTAR8S2SLdK5L5JwVrowtYCojSAS2vs1tPRWPZ433yjN7IyMjEa/8cUAciUlieMa4d1h2PUt3Wkjt42zdbVGeCDAO0Jp3M0t0t5OBFuu8NspP43i2tVWFXtsXoupEhO9bkxEENfy91YlNOhMiO50dj29rEzchyU+kgz0mXevmLLbEX2T45ILh39nZ8s+4khrSsZpNhKD/Lx37ehWjTcMBfnPvjRpfNtl+k0cBc86alE33L8wPy3AY5AJGTzvJ/sjK1NW6UO0M2AckJgEfJHZzI75z8rskJjk71KqN1sJ9aqiorAuT/xVjeK9sqB6hL9oerAUvSZR3o46EK2KsOR6iC9eL959VJGekSki6tShXcbArZuelQp/K11UHKSBAiTd6Es65AEA0HAmvf09fr95WlYYCrJ5B2BajZsXS2lchB9W0ahBkrj6sT9VJIFHdliWGQ4wIpWM/bqvdDpVD47OCmaiW1NCDk1DRhj5i2a9mTgxqrBiKJall5OAL/7j2vVpGObh+s9sVv/nITLsRdUd34pXlCX7ropStfmguuFrkxfflRNUfJ8M7o1ubVk0L2tT+x2t+W50p3vzRwyPBJ40SOFLbHfrVZrQDoXLeSitmTPHWJ0suaz06lp1CVCFnSYe30ad29lJMHH3xQdVUfPnwYvXr1UoVrw5tvvokJEyYgNDRUdWBfLcOaio8MSZOuyh82hahBVAbp0ktOy8CpqETc/d02dQAubyoJybp4JsUbKXTIctuGQd64JcugKinW/LTljHqhbFTVJ9ffp5f/PmBTrJYpwq/c2EIVX4ys043P9ceKQxcwdcEB/Lb9nOq+k5cz6aDLOg1WOtbOX7qsijNS4FBkCfThf4E1bwOREnfA/CGyIxlwJfnqQflbboToEzqi5mKIPpFy8bTlerIeDKZUaQiM/AKo1RnYMANYNlUPaMvlzVwKQNKJKvEMOXUEy/KpV/4+gLSMDLUyQjqd2wb7m7sZ/tsfjvgraepvX3ZmikK+tuwoSXFRoh7kZJN0T0hBWCYsF6UYbg9SRD4SHq9WlMi/WbKGT0Qm4Jv1p9TjUgyVnZwjpnz/F/7ah6X/65Pv1SSfrTqOT1Yew5VUS6dWs82+qlskt2nrhSUnEaX4KUPmpGNZitVCdvqsu+C71q+soiqkCCgnJKRL4c1FB/Hj5jNqO3u9u0r9vz8/tKlN97K8zh67EI9VRyJUl4bkPX84pq167ZXlnhLzIAXl7aaDFOvX8rkTu6idQ8mulgOV+3rVz7YzKr8Lf0zqpjpzjl1IUDujQt47ZCCjFKHl61ufVJVtumf2Nnx7Vye4OTurYT0SOWHkzXm5u6qTrbIjXqWiBxoEVkRJkx3jm9rVVNv/9O97zdnMQrbVKFZPH9sGfRsPBKL7At9aRYA0yjm/uiDkfVAK1vOOu+JGNWTsPBB5WM+AsJONJ6KweH+4ivmQQvTItjXVjr4Un+WA4BNTR/+Lw5phbKfsOeUGifKQ/RG5WJ+IkYK1vHbI3+qkuTttBuBIZ3VxDpRyuA5r71wiQcJ2Azt/0EORZNUZ0bVCZn8YJ/29rVbUBHeyXDdmBdy3CtjxHdD76RLeSCLHJvNM5ASyHM/LPrWQ1drWJJKrire7Gs4oQ8Fv71rHsmKaioXUbXo2ClDXR7UPhovzLizYHYYJ32xWjQ/y/yBkH87cDJgHWU256UQ0Yi+nonIFd3W8KccURfXaPwdVjN7VhrD/tv2sTbH6zm51bIrVOZGmBtlPlYaYeVvOYFzn2uowWn4PpcHGyF83SHOFdGrLz4tKn1Nm1uqzA5EoEj8/P1y6dAm+vmV/qbYjkALzt+tPq7NQ4sRbQ1VR55F5u8zLIwxyILriiT74cUsIvlpzUhVgvrqtg+qUkqK3fJQlPy/M10OtFv+vl+r0y0qmCEvGp/jfgEaqE0/OsFYzZRC9+Nc+dUZWXjRkWXHPd1appStSIJduUDngf/fm1hhjKpYfDIvD0Bnr1HU3Fye11Fgyr978YSGmhE6GV7oDDJckx1SlEXDPEqCiqUBovLxmLS5v/w749395fy3pqr7tD6C+KavdkHoZcMt5WZy8nI/4bINa+iUDJiTOI2thUN7opXBmTeIuZt3ZUT132qJD6gTU3T3q4uUb7ZtzK8usrvtwjcqtlYJo1mVZJUmKYGO+2qxWiBikCJtoOqsuE6AlukSKotKN8O7iw6qD+IE+9TFlSDP1GrfkQLiKdJDJ1JKLFuDtrn6GcmJPdoxunWmVjWlFMqPzKtrlRl7bftl2Rp2skx0siZGQYqicEJi6YL86GSHLL/95pCfqVClYcfZkZAKu/3ideUijxDRI5IScrDx6IR4X4my7NJ8a1NgmgkFem79cc1LttEpXrLyXyMnM61tWK1Rnq3SCyOu/UXiXr9/3/dUq+1A6wyWbePam0yobOyvJLJYhxGWFbPuAD9eq3xnrbTM6Pq6Tv7+7rAonn3YGovSgQEwJLXIntBR55USEnCM5UvdDuJ3fDoz5AWg+okhfV/5/Hv5ppxrIKie6spKlv48PbKxOkMkMis51K2POxM7mfOn8kk701q8uVe/71n+jQn7/pbNG9keueZ92AqKOAnf8rd835o0HjiwCbvwY6HAX8IqpSN11MnD9NPt/f3m/2/IV4FNVn2iVVW1EZcHeX4E/7wMCGgMPb7N97Ow2IHQ70PkB3WFNRIUmq+0k1ktIhMeG5/rn+DzZR5R9Wpm3Ye8GDsqb1E5kVXvWVYziy9va4/qWVoNps5Bjoo5vLDMPMTcGXf8+qXuRtkn28+o/v8h8W45JpeEjp+Pctq8tU9sh3rypJW7pUCtf+4ASMfjSggM5PtYoyFsdD8qxRY+GAarGxN/LslPLLbsholQq5EDygd71VRaQ5FbLH6uLswtm3tFRFRDiLqepAnZaeiaCfD3U0vbnrm+K6IQUlTs9+aed8HJzUQeW/zzcExuPR5u/9vydoZgy1Nf8giPZQlLQkDN14uF+DfG/AY1ttkeKH1/dbukCkwEBknP15G971FJggxS8X5i/T+WTGhEi0lknHYOfrjyuCnI/HHXBKqfX8GPX86hTid38ZOfhiKvfAqKPAe83Ah5cD2z/Vk+e9/ADBr4CdLzH8vwD8/XHSvV053+lujpjvZJc6gIeshrBCfDNYachj2L1B0uPmrPeT0cnqW5X6wF2ku873SqaQ6IZpHgsS8T+2BmKmzsEm8+0y1A+e5OcXdkZkL9X6bKWoXel1WUtw9qMYnXLmr7YHxpnUwh79vqmqvgsrznGcL6JP0i0wymERCVh9dEIm87pJQf0CT0Z/ja0VTWsNcVayM/0pRub41KSLnxLgfK9JUfVQJr8DHKUz/tm/Un13O82nFJRCPJ15LXZmLhuGNG2hspwk+nsBSXREbKjKqtXpFtahvDKihtrMshEVspIl7Z0SVuTn5N0RVjr1ahg8SnW5N9g/e+Qr7/w0V5ISk4zr9aRjultp2LUz0EK7HJiUgYAS25zWSLbLjvVD8zZoU4GSRG/ZQ0/dbJWWEeaKKNnAt8NBZoNt0tsh0S8SOyX/L+GZlRGXbkzTh9QKhIP8vcjQMtRQDMVGpKNvP8//+c+tVxTfs8eva6R2n7rAx45kSDd7IfD480d5Pf9sN20DV745q6OBS5WC1n9IZ32iw+Eq79ROYaQE9TSIWMdLXPNM0cemN43XEz7OWkpekWPIdzymmFXJ1cDi5+13B71DdD6luL5XkQFceAv/TGnk3S1OukLERVZv6aBloJ1pdwzp2VfwDoijUqOrIyUYfIyj0xWskvdxBgwKPNkRrSNwL0966F5Dd9sx5kyyFuK1dKgI8cxxspKaYzIK04wN5IfLTGRxkpWg+w7yjY8cp1lBZ18f2mUMIrVu18aWKDBkde3qKbiKaXxxThek+MGOcaT4zZp+sltHgyVLhasKceDw3t6Wg0isSkgZH++FHXeHtVKHQwfi0gwd+hN+XOv6s6zHpokAxON6cCy7MMwpmMwnhhoW6zOjRQkgit5qRdIWX703J97ce7iZfUCagzXkiGS793SBnd+u1UtQZeLOJtZFcN21VRd1wzRJ7uKPQPs/hHITAe+6Ga5P/kSsPBJoPlIwL2iLhQZU+lv/QUIbGKX3K+nfttjLpoapDNWCtby9yYDFGXooRQipfAo3ddSBP1yzQmVV//mwoPqxE5xFqyNjkiJyZBc67mbz2RbLlhSJKdMPHZdI7Wy4+7vt6k4itw6lGUwnxSf5cScFM6EdLF3bxiApQfCVSFZSLbzX7v1zrrs0MmQQDXB29NN7XxJ9JJkOcuytIFXGfYnO2dyck5eO60ZMRLW5PVTpqpfLfctL/2bVlUX6XyRiBCJl5GuAykQS6RLaccuZB24I5El657tp06gluUhnkJWCUnkjMRVPf3bXhWNIe+P8vsmfxM2ZMji08d1lqqd3Ni6unqP3hfvbSpYW+V8S4brgT/15RXLUB7r1xeJBJNYESHxHPL+KwOSDPKeLLnp0k3+1G971YGL/Fsln3Jsp1qY1KdBkX5/5GvfE1YP/hXc1Oqr0v5dLHPkfcWIkpIOZ2H8/kge7/EVts/NGpfg5AxUKOBKCDnRsf93wKsS4OkPXNRRSmZ/TgQSI4EuD7JzlUqPdP6f2aivNx5S2ltDVK5d36I6HscedV26VKlskmMFKdbKxdjPk31TOb75Y+c5deneoIo6bpH5ZVIb+mnrGTW40BjkKMc3EtW29VSMysS+2spGacB56e/92B96Sa26u7F1DTQI8raZmSZDDiXC75ftZzFz3SmVdS4RMtJcJY06EkEo6gVULFCxWgT5emLL89epwrTMQBHWjUOuLuyoLqvK9hEeOQw5IyV5uB+bciqF9TRaIWfvnv0je2eP5KVOG9XanKGbH5IrJBeji09eKA2Sz/riDc1VJtZtXWvjv33h6oVZDpzlW0jn6T3fb8PKJ/uqpcxEdnHjRzoXdPNn2R+TafMz++uithS0jRxFWZ5aSHFXUnEu5rI6Ay7FJCkgSQSOxHhIgVpO3khReMHuUDz2825VXDWKqlKgNd6kZWfkr12hqiuy05vL1Ru5KMyZ8vxmqT3SrxGe+WMvvlp7Qp3ZlkxoiaSQby07uLIN0gm+N/QSvpjQvliKkcci9Nl8yeqW1wdZRSI7XVKoz+3f/t7NrTGqfU3185Jsf+koru7nhTdGtFRRLLLjJp3Z+8MuITk1QxXDJR7EIEvWJGZDOhKkO1V2zPIqMMuOmhSrpQugU71KqFzRQ62AeX7+PtVJL9si29+5XhW7dppK54v8XjgC2dYyXqs2k9VBG49HqU6S50zvhfL+lePvdy4rKQpL3p/fWHgIu+Mq4Eb5dhs/AY4uBW76QmfpG6Qb11W/L56J1isJ/t1z3lysNsjfivXfheRky99xgLeHitKRVSePXdcQgT6eNn8DhSU/o871yvnQxKJY/5H+WKurJZ/a9P+I9GQg0hQxI2JO6MG+8rzkeOC9BoBPDeCJg7nORsgmIx2YNRCIsGTKo0b77M9bMgUI2QCM/TH/X5vInmS/6/JFHbNWrWVpbw1RuSb7AX8/3EMVG+VENTkGH083fHl7B+w6c1Edo0jMm9HwVz+gooqJ/MBqhW7T6rqDcWzHWmp/UBoZ0jMzVWRibv7dF6aysw3WjYtyPCSrDYe0rK5y0GUl4usLD6rZR7JqX8ixoTFUXZppCqMwq/yo9DnIYR45Aik8y5L1jnUrq85nOVsnkR6SBSRB/pLpKmfD/L3cVDFZskmHta6er2XxebE+gysTbo3Jr+KNka3UxZCUkoZRn29UxTkpiL0+kjuvZMehi9dNBdw8gcBmQKub9bCrDR8Bq6dZus+cXICa7YEejxXpAP7JX/eoXPk3RrZUxWpXZyf8+kA3tcTum3UnzYP4pKNXyIka46y09TBFKSC/eVMrjP5io7lYbXRMFpeb2tfEJ6t0l3WzlxarCIdtp2PU3+f3d3dWneGfrtJFtDVHI1WxrbCkYC+xQO/c3Nq8qkKy0oxIISNeQn4O8lqVFykuS1eBXKzJybY593ZW3emSx5ef10n5v/txyxk1cMaaRCpUqiDdBInmAYNPD25i04k+776uKsZFOuLLemcxWcgJ0tdGtMRDP+1U3SWiRc2Smb8hw4clZ/D8Wauir+Rkzx6BzNRE8wjieYtXYvjAAer3atN3z2JY/J+YnfIyKrjXVktI5ff7aHgc/t0n+e2RqBfgrVYe2Jx4Wf02sPkLNLx3GeBV+JNyVACSwSu63G+5z8Vq6OJ53fFmFrIJaHI9cMa02ic+TBexvfJ54ksiRqyL1SJsp+3tGz4EFj2th13L+1/l0llNQ9e487v1x6BmlkGkRFRsZD/hk/HtSnszqBDkGPLTWyupfdQfNp5WXdUnoxIx1Sr7WVbsGseR0jgjqwXlmE3mmQ1tWV1F0OVEBqqrz2lXExU8XNRKToMMbrSOEZTitQyKlGK4HFutPx6FmIQUbA+JUSvqm1TLYck/lVs80iW7qV2lAna9NCjHkHoZwAgUPfogJze3D8YfO/TSFetidU4kL1c6UMfP3KwGQkp3J1/0yG6kK/K6l6xuewLdHtZ51H41gXq9db6oFLeLQAq7xhDUF//SQ01b1PQz58EZxWbp+BXSXW0UrOV3PmtGlywJkzPoslMiJFqiOLOlpTj8UN+GeM6Uv2wdeSE5vxJZYpB/Q24Fa9mhkvgf+Xq5eWvRITUwUE5UfXlbB3XWfvOpaCSlpMPbw1X9bOxBnYzLx/I06YiXLuxp/x3Gq38fQLNqPub/N4lQeOLX3arTXLpSZbCisSTPmhQTJV6CHI902P+7t5p5SKFkWZeUh/o3xAffW+VlB7UAIg6Yi9Vi48Z1eH+XCwI80rAk6Qf10nWPy2LUGvsRWof8APz8KRo7ueCJB9bmHuMlJ+iMqBHJ46biJ/EcoqJVbrxRnJMu6shD+nrDgcDxZcC+3/RQxAv6/UO5HJP/grV0reblzn/0+93Wmfp7z2gHTN4CBJWdYah0jTBO1tRoW9pbQkTkECSCb8rQZipD+vftZ/HdxtM4H3sFD/dvqGaYGKRZ4anBTVSE4J+7QvH+0iOYc2+XbF9PmnGM2Nau9atgRLsaagW8EXHYrHr25g2jkagHgPGd9aB6iRORY6Xbu9k2+1D5xoI12VVpTFSVbu1Fj/XK9/O7Naiigvclp0k6GKUzsii5r0R5kqFpfa0GUdlBTpOdO5lyyERwJUsRVoq/f0zqrpZrHQi7hFs6WrqrrX1+W3u8vOAAHh/YWO1MFLdR7YPx2erjqsvamiz9kix8g+ycHI+Ix7ivt+C6pkF446aWaifmt+1n8fTve9VO1Xd3d0JjU6d01gxoY7CieOznXWqnR7qTxfC2NUplwMb9veuruJOFe8+rwSKyRE1yra3JUBHpUpgxvl2B4pKo7JMua1lRILExshqppEgO4U9Nu+K1o7cjsH5rBLfuj2FHn4fTsSXm53RzPoB/Eruj++WNgOn8y6iasfBaeytwwSrSS2IeWozM/k2km9eQqk+SUQlIMb1muntnL1iH7gQy0oAKVYB2E3TBWrKn5WItKSb/XdCXrArWvjWB0d8ACx4G4s8Dj+0BvE0nRqo0sBTL/3kMuNfyu0ZUIsJMHdbVWbAmIioIaey5q0c9dZHVqbkdj/xvQGM1bFPm88gqUpktNqlvAxUTJ8dixgBu0SCoojruee+W1rjn++2qYUqelx/SAKmbIOlawoI1XZOeH9pMFa1kiUm9KYuw4KEeuS5hISpr1h2NUh8bBFZUecsSb3FLx1rmx+tUqQBPN2cV8fHZhPZqOJ0Mx8hL02q++OUBq2GRxUzynH+a2FUNYPx1u84x69M4EOGXrthMi5a/URmIGJWQrIZwtAz2Q5d6lfHO4sPmLusxX21SwyXT0jPU1OqRpiF2Mk1alo7pf5+PigIyzvB7ubng7u5q/FyJkxNk745ujS0no0254pbhdcaJP8mqlpMHeXWPk2OSqKzF/+utctDlhGtJ6tU4EC8dGgLIuIljR5A46n38dv42eMUcxI/u0zC+4g7UCaiHquGrAVPcvteFHdm/0KWzOX8D6zzs8L02mdhUAh3WHlYn7oyhi+e2WoZ5Nh0GdH8EOLkGuHDAMlPBKFjnl9Fh3fl+YOh7+vqkDUBKIlDRKjLJX3dFKRI5QlTSAxeNSBAWrImICi2v5hlZZS8DtuduOYNX/9FxYdIkJRGG205fVHN3DMZqeBnyLvUXzhOjq2HBmq5J8sJ6b696+GK1nnYrA9PGdaql4kJkYARRWbb+eKT6+MTAJipiIKfhGb/c301NPJas+LJKiu1y8sgoWEsh7+3RrfDUb3vQs2EgzsQkqsGD1l3YU//ar4rNEpdRpaI7fDxdVdyJEZGy6kikys+f0KWOGmwo5Oy9LFGT4awpaRmqCCzd1ZLnXVok1mNS34bmnGojmmXuxC4q2pyDQcq3/HaT2Ftvq4xAMX35UUTEu8ApswXSfWrCJT4UPUK/zf6JtbsDN38LbPlS5/JfDLE8dmYzEB+uO64jTN20RlHz20HA3f/ZfYgkZSnKpcRn77B2yXIQKAVriaMa9Ia+LcVlGcb49yM6GkQiQfIr9mz2grT8H2f9fzaK5uo684OphKNA5G8gKRpwdgWqtijtLSIiKrce6d9IDVU0hiRuPhmjGpDWHNWrWsVTgxrbxCeyWZDygwVrumY93K8hTkQkYKmp0PXztrM4eD4O39zREUG+VgdZRfDTljP4aWsIBjWvZpP5RFRY0oF89EKCKmr2aJh7dIej7ARY77i0reWP6n5emDuxq/m+MR1rqaGJF5NSsPNMrLpPitU9Gwbgo3Ft1XI1idZISk3HnzvPYdeZWDUcxHpAyIDmVVUxvKz9Dd7To67qND8aHo8hLauhfZ1KRR5CS5SXugEV1YDWNNOAVcl3F4E+XnC5eyFwdDGw60dLtnGLm4DgTkDnBwAXV6BSXUsx+tI5YPaNQIwe8ooK/+oBe9bCdgF/PwqM+rpIQ2YpD6mXgcwMSwRVbgViKVhbc6+oBwAHNtH/31LYy4/0VP3/KvwsK3ty1OUBYP2H+cu9JrKXk6uBH0ZYbssgbJkpQkRExaKanyf+eaQnlh0MxzfrTiEiPhl7zsaqoYxCVvpmnclDlB8sWNM1Szocv76jo+rCnLHimMpbkiUro7/ciEWP9lJdqkWRmp6Bd5ccRmxSKvaHxqn80FbBZbfblRzDumOR5inc+Rny5whWP9VX/buMoRrWZCDhrLs6qQy0sV9vxt5zsWpg4+R+Dc2Z+aM76Fzufk0CMXH2dhX9IaSY/eSgxri9a9kcziHRIGV126j8+um+rnjuj71qpYERv9NKMgEr1wO6TgKcnIH/ntFPliGy1rnGlepYio+bPrMUq8XsYZbrEj2RcAEI3QHs+1UXRuVrU/HlVwu3ivkvWBsk27ogkSDrPwJiTgBelfVgxbz4VAOmnAOmBesObokF8eR+EBWjQ/8Av9xme1+NXH73iYjIbmTl6v29GyAmMRVfrjmB3WdjcTIy0bzalagwWLCma550cMolJDoRt87couIHPlp+DHd1r6tylaSwXVBSXPtxc4gqVhse+mmnim+oVMENVX09VdYuUUFJprPo1dAqJ7QcdH3K5WrF3Z8m6snTuQ1KlGGT8yf3wDN/7EUFNxdVrLbXagmi8qJzvcpY+VRfnL90Gb3eWaW6rVtYD7Gp2cFy3S/LSaTKDfTHyMO2hVKDkwvQ6mbdUS2kqL3keWDz5yxYF5dkqzgQZ6vXRhergrWHH1Apl84mKTyL/HRYS+TLmnf09SHvAhVMn5sXydWuEAAkRekomeqtr/45RIWVtVgtmF9NRFRiZMWs+G37Oej1fED9QBasqXBYsCYyqVOlIl4Z3kJNsp21/hRmbzyNFjV88efkHuZOzqxORyXi371haBjkjX5Ng1TurEQ2SHF6R8hF9ZyBzati2+kYnIlJMmdmG8U1yawlKsiJkA3HdVGhZ6PyU7DOr9wK1dYkg/6T8e1KZHuIHJnE79zTsx6+XX8Kg5pXtTwQ3BEY8h7gHahjQKxJh3XXyboAbT14cej7QMMBgF+wzkk2tBmvC9bSkS2DAa0jK8g+jBMH1vnVWTuspUicWySL0WEtOeQ5SYgAjq8Aji8Dji8HMlKBxkP0iYn8kt8bKVjHsmBNxZznnhMWrImISsx1zYJwfYtqWHxA71e4uTihpj9nmVDhsGBNZKVXowCVKSuD2aTrbM+5S/hj5znVgW1txaEL+GdPGP7aHWa+z8/LDc8NaaoK1XKRwXAP9WuA+3rXR0xiCv7eHYaw2MuYvUkPq1p1OIIFayoQibqISkiGh6sz2tV2jIxqIiq7pgxpiqcHN1HxIDa63J/7Jw1+Sw8x2zhD335gbR5xE5WBioFAYiQQfQyowZNJdicnAoRHHgXroOa5f34NUzHv2BLg5Bo9nE6iXM5tA44tA87vtn2+dGoP+7BgmeSSfS5f8+LpnB9PSwHObAJqd+VwRiq8uNCc76/WsqS3hIjomiX7lF/e3gFrjkbi4+VH0bZWpXw1HRHlhAVrIisy8KxjnUrYeMKyNPaDpUdwY+saqnNTLN4fjgd/3GHzeVV9PdTwqil/7jPfN/OOjuYuWOlke6BPA3P28JO/7VEv4k8NboKy6GxMEv7cGYpbOgajBs+Iljr5nZM8dCMHTIrV0s1PRFQUErUjnS8F/CRg4Gu6CCrd1LkVqw2BTXXBOvIIC9bFISUx5w5r60gQ/+zzAcxqdQZajgb2/wH8MDzn58j/ccOBQKOBQM2O2Tvvr8YY1plbwXrpC8DWr4Euk4AhbxfsaxMZIg7nfL8b92OJiEpan8aB6kJUFDzVQZSFdTe1u4uzKkQP/3S9ivpISknDa/8csHn+xJ71sPG563BPD0s+pI+nK7rUzznbsVdjXcTeF3pJdctaO3YhHmuPRiLuiiX7Oi8Hwi5h5eELqiO8sC5dTsXXa09g66kYFTkx7b9D6PXuKkxffhRDPl6H9cd0ZjKVrCup6TgSHo9LSal4Yf4+c7FaDGhmtXyfiKikSdG67fj8xUIENrHkXpP9og/S0/T1lHhLVrQ1V/f8FazFiM+AZlmK1c1HAiO/AJ48qrvor5uqO6ALWqxW3980rFMyrHMixWqx5YuCf20iQ+Sh0t4CIiIisiN2WBNlcWObGioGRArU9/ash+f+3IdjEQmqaNioqg/CLl1BdT9PnL90RT2/Y93KKuP6xRuawdvTFUsPhOOWjrWyL7E2CfLxRPPqvjh4Pg7rjkXipnbB6v6ftpzB8/N1h7Z8Pen0fvfm1ipbOydSzLzp842qWC0Z2t/f3UnlYhfUV2tO4HNTtnZwJS+cu3jZpph9x7dbVCf4pD4NVDceFT85YTHow7UIj9O/Y4YZ49uhqo+H+p0jInIIAUbB+khpb0n5MecmIOYk8NAWSyRItgxrz/wXrKUD9ZbZwMrXgZ0/AMM/AZoOtd/2Gh3WEi9y5RJwZjMQ3Cn70EZPq+GfRIXtsO7znI6WWfEqMHpWaW8VERERFRIL1kRZSLH4h3s6q+JsRkYmDoTFYc7mEKw4HKEu4rURLVVGtXQ4D26hu12dnZ3wxMDG6nI1fZoEqoL1miORGNm2Ju6fswPLDl4wP56ekYktp2Jw57dbsfLJvuprW0tOS8djP+8yd1Yfj0jAq/8cVDEkEuchhe+7e9RF/6ZX78Tdcy7WfN26WP3xuLbYcDwKv24/h3cXH8HuM7F4f0wb+HpaDdSiYrH6SGS2YvVnt7bHDa2rl9o2EREVCjus7UcGI/5yO3Buq74thd+UXDKsrQfQXa1gLZydgQEvA9e9VLB86vyQ2BHpspahi2/XtgzCu+kroEpDy/P8bOeFEBWqwzqoqV4hIENffbnfRERE5KhYsCbKgdFJLIXi10e2RGjsZaw0FasljmFgc10INjKqC0rynL5YfQJrj0WpwqR1sXrx/3rB1dkZ13+0Fqejk3AiMkF1dgvp3q7i7Y65m8+oAXxVKrrjk/HtcNusLepr3P/Dduw6G4vI+GSsOxaF02/fkOd2SATIwbA4df2n+7rgREQCzsQk4bEBjeHt4YoRbWuife1KeGnBASw9eAEjPt2AL2/rgCbVsiw9JrtafUT/rlkP9BzSslqpbQ8RUaFJhrWRXxx1TOde21UprvyRGI6sXcLFadVblmK1SL0MxJmGP3tnOUFtXXT2KsCA5+JYSSUd3KO/Ab69HshMt3Rbf94FmLiicNtJlPUEjbGKI7CZ/j1msZqIiMihsWBNlA9vj26Fu7/bpibc/r+9+wCPskzXOH4TQkJPaKGYEHqRJlU6eESqYgELyxFBRVHWsjbURRERsaywirLHBVdQURRsIMgqIooU6b1Kkd5DEiB0zvW8w4SEIgkmTPv/rmuu6ck7MG/mm/t7vuf9x601//TPsxDYAuF9B4/qpYnpe+5ViinggvIGZQu7xR/nbkxwgfXCTQmuEjv9uGqqcYWierJNFb06eZULldPalXzYtSC5kJ4fzFPCoWMKD8vhxtS4/LkB/B0NSqtqyYJ6cPQCbdhzUDe9M0P9b6zmKsMjwi+9Db5Vr5uzq8cvZNWOJF0RnUcFgrjCe/3uA5q8fIe+WbzdXY8vklfb9qe4nQQZ/XcCAL+SP0bKHS0d3i+9XU9BJUeYdOdXUrkWl+f3HTqzILSTvP3MQobePtFecVd7FjEsfmX2hNCXUmXd4ilp2qD0t094NH0AD1yKxC2eow3CcklFPIucAwCAwEZgDWSAhb7fPNTUXc6KPs4W9HauG6uRMzdq4hJPOGmsjYc3mLQ+xRZYj5i+XtfXKqlJS888rlRUbj3Qsnxqpbddrl+mkKvYXrx5v35as9vd3mDgD3rvrnq69jyL9C3bmqgpKz2VvPXLFFbuXDkvON5acdGa8FBT14bEKrefGrdE/ccv11Ntq+iuxqd7U55le2KKtu0/rLrxhc7bo/m6wT/pxEmpZ7Oy6tow3gX452PV4i+MX66JS7erWcWi+vCeq/VHdiUd1q7kI6p+hf/3wrTQ3lqy2I4Gq5C31i5ebauV0NC/1NaBw8dVKF+axbMAIJDYZ2a9u6Vf37UyyKz92WnbXlxuVil84qj0XV/PooSXIxS2vrznBNanFzIsdFZgbeNp94r8SrMnPD2sZw87c9tOz9odzrFDPhkWgoC35ZC1mMnyozgAAIAvEFgDGZTVCw4+f/2ViikYqTe+W+N6VvfvWC1d+Htz7Sv0/i8btH7PQT3w0XzXQ9rc27SsWwTx7IDZAm7vYnyfzt2kPp97vgTeM2qe66v90P9UUNLh467vdrVSURr9q+dLri0A+Z/u9S863sL5IjSyRwO9+cNavfXDWh08esIt2Hi+wNpezw1Df9GeA0f17SPNXIV2Wgs37dfOpCPu8qBvV7ke4Z/e38hVUKcNqm2sj366SPsPHXO3zVq3V4eOHlfeiPP/6bJQ/+FPFur4yVPqfU15V3nujyywf33yav13+Q4XrntZpXuj8kXUploJ3Vov1i3cSVgNIOBZb2Q7BZODe6V/Vpd2LJG2LfS0O5nSz1MFfVVX6fohWR9iW0V3WknbPX2h0y5s6M9yhkttB6UPrE3h8tK+dWf6cQMZcWiftGayVL2ztCtN/2oAABAUCKwBH7FK6gdbVlCjckVcRbRVXKdVtmg+vXhTNf3t08Wa8ZvnMGBrE/Jk28qKDL9wNbTpVCdW36/YpSkrPS1CBn+/RmPnb9bmfZ7DbYvmj9QxK2+W9Ez7KsoT8cc/L+2ClBZ+/6VBaTUc9IPrv20/x4LVs3swW1htfly965zAeu3OZHdeqXh+HTxywi32eOeIX/V/d9ZVpeIFNGbOJj39xZmqKwvVLdjdc+CIGr8yVV/3bqL4IvnS/Uy7zxabtLDavPPjOt3dpKyK5PdUpFnQPXbeFnWsVcrnIXD/8Sv0+YIt7rJVlresXEytq5Vw5yxqCQABIF8RqVIbafmX0vBr0t83/31PC4yr/pK1vzMlIf31td9JR5IyvrCivyh3jbT+R8/lXHml9q9JH3WSjh709cgQSL5/Xlr4obRuqpQzIn3PfAAAEPAuvQEtgCxRu3QhPdqqkvKdpyVG+xolVa5oPkWGh6lvh6r6pGfDi4bVxnptj7irnlt08ZVbarjKXW9Y7Q13E1OOKW9ETheCZ1ZMgUhF5AyTZcM7kw6fc/8Hs05XfEl6bfJqV5FtgbHXmtOBddvqJTW2VyPX4sQqyW8ZNlNj521OF1ZbO5Ivezd2Ya6xauu7R851C0amZW1D7D4Lt8sX84TZ3y7bkS4k7jd+ufp8vkSXo9XH6h3JrpLa2OVFm/frh5U7NeCbM2H1kNtraf5zrfT2X+q4IJ2wGgACiFV2ptX4YanRXz2XZw7N+pYlB/ecdX3XmZDOFjYMFLeOlLqMkardLN00TCpS0XP7UVqCIBMsrDZLx0rbFnkuE1gDABA0qLAG/JiF0+Mfaio7qPh8gXZG2KKJ1mbi/g/nux7JH9zdwPXG/vf09erSoHSGAvDzVYeXjM6t3/ce0gMfLXAtRYoV8FQy28KM3h7aXlbhbYtG2uPs+/vSrUmpFdalovO4diBdhs92ldZPjluSrtf3SzdWd2N8orW1QQnTR7M3ad3ug+73lCmST91HztXPp3+ftf9+tVNNjV+8Vet2b1Dfr5a513xbvTh9Om+ze4z1i37vlw2KK5RHraoWz9LFDFOOntCgb1e6oNxamtSKjdL1NUtp4KT0C2sau88WrszqVjMAgMukSgepRR9p8SdSi6el2l09VdBzhku7VngWmYzIL0Xkk8L+5CZ36YbSgfQLK6vlM552GuVaKqDkiZYqt/Oc0gbxx1OkkyeksMxvlyAEFYyVkjwFANq13HMeU9WnQwIAAFknx6mzyxQDSFJSkqKiopSYmKiCBdO3HACQ3uFjJ7Tv4FEXEHurgM2lBrY3vv2LFm9JdJeLF4zUsK513QKLVkFsgXDTCkVdZfhvuw+4YNtbUZx46JhemLBCuXLm0M9PXaOSUZ7x2OKTvT9e4Fp+WiuPx1tXUliOHOf06u7y79matX6vapeOdlXjVi3udV/zcnq2fVVX0dx1xK/p7rtQH/G7m5ZVVrCA+uNfN2nIlDXnvb9kVG73GG/Lko97Xq3G5Ytmye8GAPiRr3pLiz7Kvp9fp5vUeqCUO0i2fY+lSANLeC4/s0WKLODrEcHf2Y6Nl2Kkk2eO3nOe28OiiwAABEmWm+lyj2XLlqlHjx767bffdO+99+q11177wwrB7t27a9SoUefcvmHDBsXHx6tQoUJukF4DBgxQ3759MzssABdhwa83rDZ/trLYFnD0sgUUO/1rpgrmDk+9/Z6mZXVNlRh3+Z0ff9Pr/12tl75ZmRrYWrDsDatN+xolNKxrHcUVyqsasVEX/L3XVo1xgbUt3Hh2f21bWNJULlFA8/q2cpXX1tfaKrctTO/WKN49z9qP2H0WLt94VanUPteXyvp093h/bur1Xi3KK+XocY063RrltnqxrvLb/lYu2bJfCYeOEVYDQLDq+JbUsJd0OMnTl/losu0lvvSfdyRR+ul16cDpNldtBkmR+RU0wnNbDY2kU55/LwJrXEzSVk9YHZZLOulpv+YQVgMAEDQyFVgfOXJEN9xwg9q0aaMxY8bo4Ycf1siRI12AfSHDhg3TP//5z9Trs2bN0iOPPKK4uDitXbtW0dHR2rhxY+r9efIEUA8+IIT1aVtZD32yUC/eWF1TV+3S9yt2pobVVlndtOKZQPbeZmX12bzNqZXWRfJFuHYkaVmYaz27L6ZbozIueN978KiSUo65U2SunGpRqZgKnNUDunmlYvrub821ZEuiC6xtccgbr7pCJ06e0g1Df9GK7UmuXcnAm2tk6rUfOX5Ck5Zu17s/rVdc4bzaf+homtch/W/D0m5hyxqx0cofmVOtryyRumOvZmx0pn4XACDAWEuLEpn7XLmo6p08oXWeQsEVVhv7fLTWKRbss/AiMiLh9Fop0XHSoX3S4f2e9xAAAAjNwPrbb7911dCDBw9W3rx59fLLL6t3795/GFjb4+zkNWTIEL3wwgvKmTOn5s6dq0aNGrnQGkBgsQUTVw0o4SqbrRdz1xGzteB01XOJqNwuHPayHtTWfuOeUfPc9Qdalj+n1UdGWV/rjATbXnkjwtWwXJF0t9mY+91wpW7/92x9MmeT/rdhvKqWLJihtioz1+3Ro2MWpYbzq3Z4FpA09zYtqzrxhRRbyPM3r3Pd2Ey8MgAALsCC6rYvK2hF5CWwRsbtOd1+zXq4d35fmvCwp00OAAAIzcB68eLFatiwYWoAXbNmTa1YsSLDz7eA2lqB3HHHHe76nDlz3MkC64iICN13332uJciFWoxYhbed0vY9AeA7FvyaPBE59cWDTVTm6YnuenTeiHMee23V4rq/RTntTDzsqqR97epyRVwbkklLd7hKcesxbV7rXDNdqxJjrf6f+3qZvliwVYeOnkh3X7OKRTV7/V5VKVFQf+9QlUUUAQDILFuY0mxfLJWsmfnn2/PWfCc1eVgK/3NtvhAAdq/ynMdUkUpdJd3/s69HBAAAfBlYW0BctuyZBcosmLFK6YSEBNeL+mKGDh2qBx54QGFhnsrLNWvWuBYj1iJk3bp1LsiuXr16aqB9tkGDBql///6ZGTKAy+jVTjX02uTVGnBjtfPe/0w7/1q93cYzZeUu/bbrgDuZzv+apWIFIlUqOrdrW2KLR1pLkY9mb3L3230FIsN1R4M43de8vLvt0NHjboFIwmoAAC5BiZrSvvXSD/2lmrdlPnT+4CYpZZ+n33frl7JrlPAXu1Z6zov513YlAADIOjlOWelgBvXp00fHjh1zLUG8rBf17NmzdcUVV/zhc/ft2+fCbutXfaFw+8UXX9SSJUs0bty4DFdY2++/2MqSAHAh01bv0q8b9ilPrpwaOXOj9h0804/aVIzJ76qqt+5P0bVVYjS8W70/vWAlAABIw/oQv9NAOrhb6vSeVKNzxp97/Kj0UjHP5ZyRUt+dnr7YCF6vV/C8V3pOla6o6+vRAACATLAsNyoq6qJZbqYqrAsXLqxly5aluy05Odm187iYL774Qs2aNfvDSuyYmBht3br1gvdHRka6EwBklZaVY9zJdGsUr+e/Xu4WkIwrnEdbE1K09nTlteexxQirAQDIankLS3W6SdPfkL64T9o0Wyr/Pxl7buLmM5dPHJG2LpBiCTGD1sG9nrDaFK3s69EAAIBskqnAun79+ho+fHjqdetHbRXPFmRfzGeffZau1UdKSooaNGjgeljnyePpFztr1izFx8dn7hUAQBax3ttvdantelZbe4+kw8c0dt4WjZu/RSdPnlK7TCz2CAAAMqHJo55WD6snSXOHe06XYuGHBNbBbPfpdiDRpaXI/L4eDQAA8IeWIMePH1epUqX06quvqkePHurZs6d27NihCRMmaP/+/SpQoIDraX02C6dtYcWVK1eqXLlyqbe3atXKtfTo3bu3pk+frqeeekpTpkxRixYtsrSMHAAAAEAA2PCzNHOolJKQ8edYK5AyTaSfXpUiC0qPr5YiPIvEI8jMGS5NekKq2Ebq+pmvRwMAAPyhJUh4eLhGjBihLl266Mknn3SLJ06bNs3dZ60+Fi5cqKuuuuqc582cOdPdnzasNv/5z3/UvXt3NW3aVGXKlNGYMWMyHFYDAAAACDJlm3tOmXXypLT4E2n/Jk+Vdmb6YCNw7F7lOY+p4uuRAACAbJSpwNp07NhR69at0/z589WwYUMVKVLE3f5HhdrXXnutq8Q+W+nSpTV16tTMDgEAAAAAzggLk668SZr5lrR+GoF1sNp1OrAuVtXXIwEAANko7FKeVKJECXXo0CE1rAYAAAAAn4pv4jm3RRsR3D2sqbAGACCoXVJgDQAAAAB+Ja6B53zvWunAbl+PBlnN/k8P7bVlmKSilX09GgAAkI0IrAEAAAAEvryFpZgrPZc3U2UdtNXVheJZVBMAgCBHYA0AAAAgOJRu6Dn/fZavR4Kstvc3zznV1QAABD0CawAAAADBoXRjz/m6qbYqvK9Hg6yUvNNzHnWFr0cCAACyWXh2/wIAAAAAuCwqXCvlyudpH7F4jKdNyOEkqXonKYxanYB24HRgnb+4r0cCAACyGYE1AAAAgOBgAfXV90m/DJG+6nXm9iOJUv17fTky/FkHdnnO88f4eiQAACCbUWYAAAAAIHi0eFqKre+5nK+Y53z6EOnkCZ8OC1lUYZ2PwBoAgGBHhTUAAACA4JErt9R9knQkSYrIL71RWUraIv30mhR3OsiG/8qRU4qtJ0UW8FxP3uH5f0ytsKYlCAAAwY7AGgAAAEBwCY+Qwot6LldqKy0ZI/30iq9HhYzKW0TqPlE6liK9304qWlFK3ua5j5YgAAAEPQJrAAAAAMGrdldp6Weeit3oeF+PBhezb4N0aK/03XNS0lbp+GFpx9Iz9xNYAwAQ9AisAQAAAASvss2lR5Z4+llbuxD4tz1rpbfrS799f+59ZVtIufL4YlQAAOAyIrAGAAAAENyi43w9AmSUtf+odpO0/EvP9c7/kYpUkA4nSvFNfD06AABwGRBYAwAAAAD8R4unpd9+kKp0kKrdIuXI4esRAQCAy4jAGgAAAADgP2KqSH1+9wTVhNUAAIQcAmsAAAAAgH8JC/P1CAAAgI+wFQAAAAAAAAAA8AsE1gAAAAAAAAAAv0BgDQAAAAAAAADwCwTWAAAAAAAAAAC/QGANAAAAAAAAAPALBNYAAAAAAAAAAL9AYA0AAAAAAAAA8AsE1gAAAAAAAAAAvxCuAHbq1Cl3npSU5OuhAAAAAAAAAAAuwJvhejPdoAysk5OT3XlcXJyvhwIAAAAAAAAAyECmGxUVdcH7c5y6WKTtx06ePKlt27apQIECypEjR7bvAbBgfPPmzSpYsGC2/i4A/oO5D4Qm5j4Qupj/QGhi7gOhibl/eVkMbWF1qVKlFBYWFpwV1vbCYmNjL+vvtDcvb2Ag9DD3gdDE3AdCF/MfCE3MfSA0Mfcvnz+qrPZi0UUAAAAAAAAAgF8gsAYAAAAAAAAA+AUC6wyKjIxUv3793DmA0MHcB0ITcx8IXcx/IDQx94HQxNz3TwG96CIAAAAAAAAAIHhQYQ0AAAAAAAAA8AsE1gAAAAAAAAAAv0BgDQAAAAAAAADwCwTWAAAAAAAAAAC/QGANAAAAAAAAAPALBNYAAAAAQsKpU6d8PQQAAHCZHT9+3NdDQCaFfGC9adMmPfroo3r33Xc1d+5cdxsbskDw27x5swYOHKhx48Zp0aJF7raTJ0/6elgALtP8Hz58uObNm+froQC4jPbs2aM5c+a4y3zmA6Hl999/13333afBgwen/h3gez8Q/MaPH6/rrrtOPXr00JdffuluY+4HhpAOrEePHq2qVatqw4YN7o374IMPatWqVcqRI4evhwYgG33xxReqW7euFixYoJdfflk333yz5s+fr7CwMD68gCBnO6dr1KihH3/8Ub169dKLL77otgMM8x8I/m3/9u3bu8v2mQ8gNEyYMEGVK1fWzp079fnnn+uee+7R8uXL3fd+PvuB4PXhhx+qe/fuql+/vkqXLq0nn3xSy5YtI/MLECG9pfbNN9/onXfe0ddff62hQ4eqTJky+vnnn309LADZbMyYMXruuefcBqvN/1atWumvf/2ru48PLyC4fffdd2rZsqU+/vhjvf/++woPD9djjz3m7mP+A8Ft9uzZSkhI0IABA9z1EydO+HpIAC4D2+Z/9tln3Xb/e++9p1q1arkjrQyf/UDwmjhxot58801XpGbb+7Vr19Yvv/zi62Ehg8JCtXeNbaDmy5dPBw4ccLdVrFhRW7ZscW9gL/a2AsHF5v3u3bu1fft2RUREuNtKlSqlzp076/Dhw+4ICwDBZe3ata4NgLdvnbUCS0xMdJet0vqJJ57Q6tWrXXhtCLCA4Jr73tYf27Zt065du/T222+7Iyv27t2rnDlzsr0PhMBn/7Fjx1x1pfd7f8GCBVOPsuBvABC8c79EiRKp2/ZFihRxR1nYkdZezH//FjKB9bBhw9S7d2932TZOje1ZtdYAr7/+utq1a6elS5fqpZdeUpcuXXT06FH2tgJBOPe9G6gpKSluh5XddujQIXc9b968vh4ugCySlJSkDh06qF69err++uv1zDPPuNtr1qzpPt8tpDa282rQoEF6/PHH020jAAiOuf/UU0+l7qDu2LGjawHYpk0b1xLA8GUVCN75//e//93dbu3/7Pu+7cCyz/mYmBj33d/wnR8I3u3+Rx55xH32W2j9xhtvuOpqq7S2o60N89+/hUxgbb1q//Wvf7nKKntT2gdVt27dXJBlhwXbIcG2EIO9ca2XpfW5MSzIAgTP3DeRkZHq2rWrPvjgAxdS2WGBr732mtasWaONGzf6ergAsojtjLbP+8WLF6tTp06aNGmSW3SlefPmLqT2LrhkbrzxRlWvXt0dLmz47AeCZ+7/97//1ahRo9x9Dz/8cOpjrDWgtQhh/QogeOe/zfOxY8e6oymLFy+eWlW9b98+VatWLbX6GkBwzf1vv/1Wn3zyicqWLavChQu7++w7wIwZM9zfA2sP5G0JyHa//woLpT0uduivhdTGNkyjoqLcm9newLfffrs7RMD2yHj7WtthgyzIAgTX3De2QrhVU9oH2uTJk3Xbbbe5Iy7sbwGAwGeHAdrctgoLW5/i7rvvVosWLTRv3jz396BChQouqFqxYkXqc2wRlqlTpyo5OZnPfiCI5r59QbWd0mkrqWzRdVu7wltlTYUVEJzz39asWLRoUepjvK0B7LPeK1euXKmX2XkFBM92vy2u6J3X9jlvCy82atTIVV1b4ZqF2pYVsN3vv4Luf2bJkiV65ZVX3BdRe/MZWwHY+tZZJfXcuXPdnlZ7w9qeFOtvU7Ro0XQbqtOnT1fJkiV18OBBH74SANkx970fWlZlbQuwWNXF3/72N9fL0o6uABD489+OmrKN1mbNmrn7bYe0zXH7e2DsKCr7/Le/DUeOHEn9EpsnTx7394EvrEDwzH2b61ZNeXaP+v79+7t1LehfDwT3/LfPf+NtB2Jz3b4XtG7d2t3+/fffq0+fPu4yO6+A4Jv73rltbUC99u/f76qvOcrKvwVVYD1t2jT3JrVG67aYilVQWpW0He5jvart/Omnn9YDDzzgHm9vTgurbS/MRx995B5v52+99ZarvIiNjfX1SwKQDXPfuzHqXXgxISHBPcb62QEI7Plviyjaxqu1/LJ57Q2hbKPUe9mOprrjjjtc5YWtW2E7q2wHlm3cWtsgvrACgTn3rWryfHPfu2MqbY96O9LSnuetsqZ/PRCcn/3e+e+torTrVpxma9nY0dbt27f36WsBkL1z37br161bp1dffVX33nuvO+LSilYqVaqk/Pnzs93vx4IusL722mtdT9oPP/zQvfnuv/9+d583iLKFV+zD6uWXX053GHCDBg3c3tV+/fq5QwfHjBmT7vAgAME19+3QIe+Hkz3eqrHpYQcE/vy3xVOtgtp2SKf9gmrVGKVLl0593k033aQ333xTiYmJatKkiWsP8u6777rAGkBgzv277rrrvHM/Li7OXT67iqpXr14aOHCgW2ydCisguD/7vX1qLaj+4Ycf3I5r21FlVZgWZAEI3u1+K0a97rrr3Lp1VsRWsGDBdJkg/FNAB9a2eJItlGQV0Tt37nRVFd42HnYYwODBg93hPtaP2tiGqH0R/cc//uH2xngPCbA3tx0WaH1vrB3IyJEjlS9fPp++NgDZO/ft0CHvhqvtnLL+dk2bNvXp6wLw5+f/kCFD3IKKaee/VVvYDqoqVaqk/pzNmzcrPj5eX375pebPn+/+ZjRu3NhnrwtA9s99u+xtDWQ7rs0zzzzjjriiwgoI7vlvQdb27dvddr8ttmZr2Xz22WcuuAIQ3Nv9dhSlfdefMGGCpkyZ4hZktLAb/i1gA+vnn3/eLaJWrFgxjR49Wtdcc43q1KnjDu339qG1N6mFUxZG2+EAdt3ewLfeequrprI9McZ72ECpUqXcCUBozP20WHARCM75b19QrYJq48aN7lBBq6S2RRdvvvlm93j7omqHBrPgChAac79jx47u8bbjGkDozP/y5cu7o6sKFSrkilhsEWYAofXZnzt3btcSDIEhIL+dWYN0O4znq6++0ogRI1zfaVsoyfaU2AePd2E1YyuEWhWlHfabNpy2Ju22F8YWW6FnHRCac5+ACgiN+b906VLt2LHDHQJoj7Ww2qqqAYTe3LfelQBCb/7fcsst+vXXX334agBkFNv9MAGZ1theETuUx9u2w1p6VKxYUbVq1XK9aRYsWOB61ng9++yzGj58uKuw9FZT1K9f360YbntrAAQG5j4Quv7M/Pf2pbajqKwdwOuvv+6z1wEgc5j7QOhi/gOhibmPgA2srSLa3pBW4m9vSDusZ+vWre52W/XTginrceNVoEAB13Dd9tKkRZ9qILAw94HQdSnz3xZas571duifVVaMHTtWxYsX9+nrAJA5zH0gdDH/gdDE3EfABta2p6V169apTdJt0RTrQWk9aO1Neuedd2r58uW67bbbNGPGDA0dOtS9cfPnz+/roQP4E5j7QOi6lPmfkpLiFlOzjdUyZcr4+iUAuATMfSB0Mf+B0MTcR8AG1mlZk3Xbu2JN1729qJs3b66PP/7Y3d6pUycdPXrUHR5gb3oAwYG5D4Qu5j8Qmpj7QOhi/gOhibkfuoJieezNmzcrOTlZbdq0cdcHDBjg9qjYG9haAURHR/t6iACyAXMfCF3MfyA0MfeB0MX8B0ITcz80BXyFtbFD/suVK6fPP/9c1atX1+DBg1WyZEl3H29cIHgx94HQxfwHQhNzHwhdzH8gNDH3Q1NQBNYrVqzQ9OnT9dhjj6lr165KSEhQq1atfD0sANmMuQ+ELuY/EJqY+0DoYv4DoYm5H5pynLIlNwOcNVufNGmSHnroIeXOndvXwwFwmTD3gdDF/AdCE3MfCF3MfyA0MfdDU1AE1gAAAAAAAACAwBcULUEAAAAAAAAAAIGPwBoAAAAAAAAA4BcIrAEAAAAAAAAAfoHAGgAAAAAAAADgFwisAQAAAAAAAAB+gcAaAAAAAAAAAOAXCKwBAACAy2jjxo3KkSOHr4cBAAAA+CUCawAAAMBPtWzZUiNHjvT1MAAAAIDLhsAaAAAAAAAAAOAXCKwBAACAbPbNN9+oQoUKKlq0qD744IPU22fMmKHatWsrb968atCggVasWOFu79Wrl2sb8tNPP6lHjx7ust3mNXfuXF199dWKiorSLbfcosTERJ+8LgAAACCrEVgDAAAA2Wjnzp26/fbb1adPH82ePduF1+bkyZPq3LmzC5zXr1+v5s2b64knnnD3DRkyRAkJCWrSpIneeecdd9luM/v371e7du3cacmSJUpKStLjjz/u09cIAAAAZJXwLPtJAAAAAM4xefJklS1bVj179nTXX3jhBXXo0MFdXrhwoQoVKuSCZwuiV69e7W7PkyePO4WHh7vq6+jo6NSfN3HiROXKlUv9+vVzldcWcnfr1s1Hrw4AAADIWgTWAAAAQDbavn27SpcunXq9fPny7jwsLMxVTb/33nsqV66c4uLidOLEiYv+vC1btmj37t0u6PZWaicnJ+vw4cPKnTt3Nr4SAAAAIPsRWAMAAADZKCYmRtu2bUu9vmnTJnc+bdo0jRgxQitXrnSPmTRpkubPn5/uuRZqnzp1Kt1tsbGxqlu3rj799FN33e63HtZWdQ0AAAAEOnpYAwAAANmodevWWrVqlUaNGqV169a5liDGqqKNtQKxxRcfe+yxc8Jpq8aeOnWqq9KeMmWKq8C2diIWes+ZM8e1DRk3bpzatm17znMBAACAQERgDQAAAGQjq4gePXq0+vfvr6ZNm7qFFI2FzHaqU6eOevXq5XpcWyW2LdLo1bdvXxdyx8fHu8dY+w/rZz1+/Hi98cYbrpXI2LFj3XXrdw0AAAAEuhynKMUAAAAAAAAAAPgBKqwBAAAAAAAAAH6BwBoAAAAAAAAA4BcIrAEAAAAAAAAAfoHAGgAAAAAAAADgFwisAQAAAAAAAAB+gcAaAAAAAAAAAOAXCKwBAAAAAAAAAH6BwBoAAAAAAAAA4BcIrAEAAAAAAAAAfoHAGgAAAAAAAAAgf/D/60B/CKetp0kAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "index_close=index_zh_a_hist_df[\"收盘\"]\n",
    "index_time_scale=index_close/index_close.iloc[0]\n",
    "index_time_scale.plot(figsize=(18,4))\n",
    "cash_value=result.portfolio.equity/100000\n",
    "cash_value.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 基于ctx.score的因子排序策略实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['index', '交易日期', '股票代码', '股票简称', '开盘价', '最高价', '最低价', '收盘价', '成交量(手)',\n",
       "       '成交额(千元)', '换手率(%)', '量比', '市盈率(静态)', '市盈率(TTM)', '市盈率(动态)', '市净率',\n",
       "       '市销率', '市销率(TTM)', '股息率(%)', '股息率(TTM)(%)', '总股本(万股)', '流通股本(万股)',\n",
       "       '总市值(万元)', '流通市值(万元)'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "pyb_data_pe=stock_daily0[[\"交易日期\",\"股票代码\",\"开盘价\",\"最高价\",\"最低价\",\"收盘价\",\"成交量(手)\",\"换手率(%)\"]]\n",
    "pyb_data_pe.columns=[\"date\",\"symbol\",\"open\",\"high\",\"low\",\"close\",\"volume\",\"pe\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>symbol</th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>volume</th>\n",
       "      <th>pe</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-10-13</td>\n",
       "      <td>003001.SZ</td>\n",
       "      <td>36.1900</td>\n",
       "      <td>43.4300</td>\n",
       "      <td>36.1900</td>\n",
       "      <td>43.4300</td>\n",
       "      <td>1755.12</td>\n",
       "      <td>0.7225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-10-14</td>\n",
       "      <td>003001.SZ</td>\n",
       "      <td>47.7700</td>\n",
       "      <td>47.7700</td>\n",
       "      <td>44.0100</td>\n",
       "      <td>47.7700</td>\n",
       "      <td>109022.37</td>\n",
       "      <td>44.8766</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-10-15</td>\n",
       "      <td>003001.SZ</td>\n",
       "      <td>46.4400</td>\n",
       "      <td>46.8000</td>\n",
       "      <td>43.0400</td>\n",
       "      <td>43.0900</td>\n",
       "      <td>81268.36</td>\n",
       "      <td>33.4523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-10-16</td>\n",
       "      <td>003001.SZ</td>\n",
       "      <td>41.0200</td>\n",
       "      <td>43.8900</td>\n",
       "      <td>40.1100</td>\n",
       "      <td>41.9400</td>\n",
       "      <td>57613.41</td>\n",
       "      <td>23.7152</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-10-19</td>\n",
       "      <td>003001.SZ</td>\n",
       "      <td>41.1300</td>\n",
       "      <td>41.8000</td>\n",
       "      <td>39.2500</td>\n",
       "      <td>39.4500</td>\n",
       "      <td>47553.71</td>\n",
       "      <td>19.5744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1132744</th>\n",
       "      <td>2023-02-13</td>\n",
       "      <td>430047.BJ</td>\n",
       "      <td>6161.7118</td>\n",
       "      <td>6395.8655</td>\n",
       "      <td>6161.7118</td>\n",
       "      <td>6317.8143</td>\n",
       "      <td>9090.62</td>\n",
       "      <td>0.4889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1132745</th>\n",
       "      <td>2023-02-14</td>\n",
       "      <td>430047.BJ</td>\n",
       "      <td>6330.8228</td>\n",
       "      <td>6365.5122</td>\n",
       "      <td>6287.4610</td>\n",
       "      <td>6365.5122</td>\n",
       "      <td>4324.41</td>\n",
       "      <td>0.2326</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1132746</th>\n",
       "      <td>2023-02-15</td>\n",
       "      <td>430047.BJ</td>\n",
       "      <td>6339.4952</td>\n",
       "      <td>6408.8740</td>\n",
       "      <td>6339.4952</td>\n",
       "      <td>6348.1675</td>\n",
       "      <td>2639.02</td>\n",
       "      <td>0.1419</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1132747</th>\n",
       "      <td>2023-02-16</td>\n",
       "      <td>430047.BJ</td>\n",
       "      <td>6326.4866</td>\n",
       "      <td>6391.5293</td>\n",
       "      <td>6183.3927</td>\n",
       "      <td>6222.4183</td>\n",
       "      <td>4853.73</td>\n",
       "      <td>0.2611</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1132748</th>\n",
       "      <td>2023-02-17</td>\n",
       "      <td>430047.BJ</td>\n",
       "      <td>6179.0565</td>\n",
       "      <td>6239.7630</td>\n",
       "      <td>6122.6862</td>\n",
       "      <td>6135.6947</td>\n",
       "      <td>3275.49</td>\n",
       "      <td>0.1762</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1132749 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              date     symbol       open       high        low      close  \\\n",
       "0       2020-10-13  003001.SZ    36.1900    43.4300    36.1900    43.4300   \n",
       "1       2020-10-14  003001.SZ    47.7700    47.7700    44.0100    47.7700   \n",
       "2       2020-10-15  003001.SZ    46.4400    46.8000    43.0400    43.0900   \n",
       "3       2020-10-16  003001.SZ    41.0200    43.8900    40.1100    41.9400   \n",
       "4       2020-10-19  003001.SZ    41.1300    41.8000    39.2500    39.4500   \n",
       "...            ...        ...        ...        ...        ...        ...   \n",
       "1132744 2023-02-13  430047.BJ  6161.7118  6395.8655  6161.7118  6317.8143   \n",
       "1132745 2023-02-14  430047.BJ  6330.8228  6365.5122  6287.4610  6365.5122   \n",
       "1132746 2023-02-15  430047.BJ  6339.4952  6408.8740  6339.4952  6348.1675   \n",
       "1132747 2023-02-16  430047.BJ  6326.4866  6391.5293  6183.3927  6222.4183   \n",
       "1132748 2023-02-17  430047.BJ  6179.0565  6239.7630  6122.6862  6135.6947   \n",
       "\n",
       "            volume       pe  \n",
       "0          1755.12   0.7225  \n",
       "1        109022.37  44.8766  \n",
       "2         81268.36  33.4523  \n",
       "3         57613.41  23.7152  \n",
       "4         47553.71  19.5744  \n",
       "...            ...      ...  \n",
       "1132744    9090.62   0.4889  \n",
       "1132745    4324.41   0.2326  \n",
       "1132746    2639.02   0.1419  \n",
       "1132747    4853.73   0.2611  \n",
       "1132748    3275.49   0.1762  \n",
       "\n",
       "[1132749 rows x 8 columns]"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pyb_data_pe"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "def buy_highest_volume(ctx):\n",
    "    # If there are no long positions across all tickers being traded:\n",
    "    if not tuple(ctx.long_positions()):\n",
    "        ctx.buy_shares = ctx.calc_target_shares(0.1)\n",
    "        ctx.hold_bars = 10\n",
    "        ctx.score = -ctx.pe[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backtesting: 2018-01-01 00:00:00 to 2023-02-10 00:00:00\n",
      "\n",
      "Test split: 2018-01-02 00:00:00 to 2023-02-10 00:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0% (0 of 1239) |                       | Elapsed Time: 0:00:00 ETA:  --:--:--\n",
      "  0% (1 of 1239) |                       | Elapsed Time: 0:00:01 ETA:   0:24:03\n",
      "  0% (11 of 1239) |                      | Elapsed Time: 0:00:02 ETA:   0:03:48\n",
      "  1% (21 of 1239) |                      | Elapsed Time: 0:00:02 ETA:   0:02:08\n",
      "  2% (31 of 1239) |                      | Elapsed Time: 0:00:02 ETA:   0:01:33\n",
      "  3% (41 of 1239) |                      | Elapsed Time: 0:00:02 ETA:   0:01:11\n",
      "  4% (51 of 1239) |                      | Elapsed Time: 0:00:02 ETA:   0:01:00\n",
      "  4% (61 of 1239) |#                     | Elapsed Time: 0:00:02 ETA:   0:00:53\n",
      "  5% (71 of 1239) |#                     | Elapsed Time: 0:00:02 ETA:   0:00:46\n",
      "  6% (81 of 1239) |#                     | Elapsed Time: 0:00:02 ETA:   0:00:42\n",
      "  7% (91 of 1239) |#                     | Elapsed Time: 0:00:03 ETA:   0:00:39\n",
      "  8% (101 of 1239) |#                    | Elapsed Time: 0:00:03 ETA:   0:00:36\n",
      "  8% (111 of 1239) |#                    | Elapsed Time: 0:00:03 ETA:   0:00:34\n",
      "  9% (121 of 1239) |##                   | Elapsed Time: 0:00:03 ETA:   0:00:32\n",
      " 10% (131 of 1239) |##                   | Elapsed Time: 0:00:03 ETA:   0:00:31\n",
      " 12% (151 of 1239) |##                   | Elapsed Time: 0:00:03 ETA:   0:00:27\n",
      " 12% (161 of 1239) |##                   | Elapsed Time: 0:00:03 ETA:   0:00:26\n",
      " 13% (171 of 1239) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:25\n",
      " 14% (181 of 1239) |###                  | Elapsed Time: 0:00:04 ETA:   0:00:24\n",
      " 15% (191 of 1239) |###                  | Elapsed Time: 0:00:04 ETA:   0:00:24\n",
      " 16% (201 of 1239) |###                  | Elapsed Time: 0:00:04 ETA:   0:00:23\n",
      " 17% (211 of 1239) |###                  | Elapsed Time: 0:00:04 ETA:   0:00:22\n",
      " 17% (221 of 1239) |###                  | Elapsed Time: 0:00:04 ETA:   0:00:21\n",
      " 19% (241 of 1239) |####                 | Elapsed Time: 0:00:04 ETA:   0:00:20\n",
      " 20% (251 of 1239) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:20\n",
      " 21% (261 of 1239) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:19\n",
      " 21% (271 of 1239) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:18\n",
      " 22% (281 of 1239) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:18\n",
      " 23% (291 of 1239) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:18\n",
      " 24% (301 of 1239) |#####                | Elapsed Time: 0:00:05 ETA:   0:00:17\n",
      " 25% (321 of 1239) |#####                | Elapsed Time: 0:00:05 ETA:   0:00:17\n",
      " 26% (331 of 1239) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:16\n",
      " 27% (341 of 1239) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:16\n",
      " 28% (351 of 1239) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:16\n",
      " 29% (361 of 1239) |######               | Elapsed Time: 0:00:06 ETA:   0:00:15\n",
      " 29% (371 of 1239) |######               | Elapsed Time: 0:00:06 ETA:   0:00:15\n",
      " 30% (381 of 1239) |######               | Elapsed Time: 0:00:06 ETA:   0:00:15\n",
      " 31% (391 of 1239) |######               | Elapsed Time: 0:00:06 ETA:   0:00:14\n",
      " 32% (401 of 1239) |######               | Elapsed Time: 0:00:06 ETA:   0:00:14\n",
      " 33% (411 of 1239) |######               | Elapsed Time: 0:00:07 ETA:   0:00:14\n",
      " 33% (421 of 1239) |#######              | Elapsed Time: 0:00:07 ETA:   0:00:14\n",
      " 34% (431 of 1239) |#######              | Elapsed Time: 0:00:07 ETA:   0:00:13\n",
      " 35% (441 of 1239) |#######              | Elapsed Time: 0:00:07 ETA:   0:00:13\n",
      " 36% (451 of 1239) |#######              | Elapsed Time: 0:00:07 ETA:   0:00:13\n",
      " 37% (461 of 1239) |#######              | Elapsed Time: 0:00:07 ETA:   0:00:13\n",
      " 38% (471 of 1239) |#######              | Elapsed Time: 0:00:07 ETA:   0:00:12\n",
      " 38% (481 of 1239) |########             | Elapsed Time: 0:00:08 ETA:   0:00:12\n",
      " 39% (491 of 1239) |########             | Elapsed Time: 0:00:08 ETA:   0:00:12\n",
      " 40% (501 of 1239) |########             | Elapsed Time: 0:00:08 ETA:   0:00:12\n",
      " 41% (511 of 1239) |########             | Elapsed Time: 0:00:08 ETA:   0:00:12\n",
      " 42% (521 of 1239) |########             | Elapsed Time: 0:00:08 ETA:   0:00:11\n",
      " 42% (531 of 1239) |#########            | Elapsed Time: 0:00:08 ETA:   0:00:11\n",
      " 43% (541 of 1239) |#########            | Elapsed Time: 0:00:08 ETA:   0:00:11\n",
      " 44% (551 of 1239) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:11\n",
      " 45% (561 of 1239) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:11\n",
      " 46% (571 of 1239) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:10\n",
      " 46% (581 of 1239) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:10\n",
      " 47% (591 of 1239) |##########           | Elapsed Time: 0:00:09 ETA:   0:00:10\n",
      " 48% (601 of 1239) |##########           | Elapsed Time: 0:00:09 ETA:   0:00:10\n",
      " 49% (611 of 1239) |##########           | Elapsed Time: 0:00:10 ETA:   0:00:10\n",
      " 50% (621 of 1239) |##########           | Elapsed Time: 0:00:10 ETA:   0:00:10\n",
      " 50% (631 of 1239) |##########           | Elapsed Time: 0:00:10 ETA:   0:00:09\n",
      " 51% (641 of 1239) |##########           | Elapsed Time: 0:00:10 ETA:   0:00:09\n",
      " 52% (651 of 1239) |###########          | Elapsed Time: 0:00:10 ETA:   0:00:09\n",
      " 53% (661 of 1239) |###########          | Elapsed Time: 0:00:10 ETA:   0:00:09\n",
      " 54% (671 of 1239) |###########          | Elapsed Time: 0:00:10 ETA:   0:00:09\n",
      " 54% (681 of 1239) |###########          | Elapsed Time: 0:00:11 ETA:   0:00:09\n",
      " 55% (691 of 1239) |###########          | Elapsed Time: 0:00:11 ETA:   0:00:09\n",
      " 56% (701 of 1239) |###########          | Elapsed Time: 0:00:11 ETA:   0:00:08\n",
      " 57% (711 of 1239) |############         | Elapsed Time: 0:00:11 ETA:   0:00:08\n",
      " 58% (721 of 1239) |############         | Elapsed Time: 0:00:11 ETA:   0:00:08\n",
      " 58% (731 of 1239) |############         | Elapsed Time: 0:00:12 ETA:   0:00:08\n",
      " 59% (741 of 1239) |############         | Elapsed Time: 0:00:12 ETA:   0:00:08\n",
      " 60% (751 of 1239) |############         | Elapsed Time: 0:00:12 ETA:   0:00:08\n",
      " 61% (761 of 1239) |############         | Elapsed Time: 0:00:12 ETA:   0:00:07\n",
      " 62% (771 of 1239) |#############        | Elapsed Time: 0:00:12 ETA:   0:00:07\n",
      " 63% (781 of 1239) |#############        | Elapsed Time: 0:00:13 ETA:   0:00:07\n",
      " 63% (791 of 1239) |#############        | Elapsed Time: 0:00:13 ETA:   0:00:07\n",
      " 64% (801 of 1239) |#############        | Elapsed Time: 0:00:13 ETA:   0:00:07\n",
      " 65% (811 of 1239) |#############        | Elapsed Time: 0:00:13 ETA:   0:00:07\n",
      " 66% (821 of 1239) |#############        | Elapsed Time: 0:00:13 ETA:   0:00:07\n",
      " 67% (831 of 1239) |##############       | Elapsed Time: 0:00:14 ETA:   0:00:06\n",
      " 67% (841 of 1239) |##############       | Elapsed Time: 0:00:14 ETA:   0:00:06\n",
      " 68% (851 of 1239) |##############       | Elapsed Time: 0:00:14 ETA:   0:00:06\n",
      " 70% (871 of 1239) |##############       | Elapsed Time: 0:00:14 ETA:   0:00:06\n",
      " 71% (881 of 1239) |##############       | Elapsed Time: 0:00:14 ETA:   0:00:05\n",
      " 71% (891 of 1239) |###############      | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 72% (901 of 1239) |###############      | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 73% (911 of 1239) |###############      | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 74% (921 of 1239) |###############      | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 75% (931 of 1239) |###############      | Elapsed Time: 0:00:16 ETA:   0:00:05\n",
      " 75% (941 of 1239) |###############      | Elapsed Time: 0:00:16 ETA:   0:00:05\n",
      " 76% (951 of 1239) |################     | Elapsed Time: 0:00:16 ETA:   0:00:04\n",
      " 77% (961 of 1239) |################     | Elapsed Time: 0:00:16 ETA:   0:00:04\n",
      " 78% (971 of 1239) |################     | Elapsed Time: 0:00:16 ETA:   0:00:04\n",
      " 79% (981 of 1239) |################     | Elapsed Time: 0:00:17 ETA:   0:00:04\n",
      " 79% (991 of 1239) |################     | Elapsed Time: 0:00:17 ETA:   0:00:04\n",
      " 80% (1001 of 1239) |################    | Elapsed Time: 0:00:17 ETA:   0:00:04\n",
      " 81% (1011 of 1239) |################    | Elapsed Time: 0:00:17 ETA:   0:00:03\n",
      " 82% (1021 of 1239) |################    | Elapsed Time: 0:00:17 ETA:   0:00:03\n",
      " 83% (1031 of 1239) |################    | Elapsed Time: 0:00:17 ETA:   0:00:03\n",
      " 84% (1041 of 1239) |################    | Elapsed Time: 0:00:18 ETA:   0:00:03\n",
      " 84% (1051 of 1239) |################    | Elapsed Time: 0:00:18 ETA:   0:00:03\n",
      " 85% (1061 of 1239) |#################   | Elapsed Time: 0:00:18 ETA:   0:00:03\n",
      " 86% (1071 of 1239) |#################   | Elapsed Time: 0:00:18 ETA:   0:00:02\n",
      " 87% (1081 of 1239) |#################   | Elapsed Time: 0:00:18 ETA:   0:00:02\n",
      " 88% (1091 of 1239) |#################   | Elapsed Time: 0:00:19 ETA:   0:00:02\n",
      " 88% (1101 of 1239) |#################   | Elapsed Time: 0:00:19 ETA:   0:00:02\n",
      " 89% (1111 of 1239) |#################   | Elapsed Time: 0:00:19 ETA:   0:00:02\n",
      " 90% (1121 of 1239) |##################  | Elapsed Time: 0:00:19 ETA:   0:00:02\n",
      " 91% (1131 of 1239) |##################  | Elapsed Time: 0:00:19 ETA:   0:00:01\n",
      " 92% (1141 of 1239) |##################  | Elapsed Time: 0:00:20 ETA:   0:00:01\n",
      " 92% (1151 of 1239) |##################  | Elapsed Time: 0:00:20 ETA:   0:00:01\n",
      " 93% (1161 of 1239) |##################  | Elapsed Time: 0:00:20 ETA:   0:00:01\n",
      " 94% (1171 of 1239) |##################  | Elapsed Time: 0:00:20 ETA:   0:00:01\n",
      " 95% (1181 of 1239) |################### | Elapsed Time: 0:00:21 ETA:   0:00:01\n",
      " 96% (1191 of 1239) |################### | Elapsed Time: 0:00:21 ETA:   0:00:00\n",
      " 96% (1201 of 1239) |################### | Elapsed Time: 0:00:21 ETA:   0:00:00\n",
      " 97% (1211 of 1239) |################### | Elapsed Time: 0:00:21 ETA:   0:00:00\n",
      " 98% (1221 of 1239) |################### | Elapsed Time: 0:00:22 ETA:   0:00:00\n",
      " 99% (1231 of 1239) |################### | Elapsed Time: 0:00:22 ETA:   0:00:00\n",
      "100% (1239 of 1239) |####################| Elapsed Time: 0:00:22 ETA:  00:00:00\n",
      "100% (1239 of 1239) |####################| Elapsed Time: 0:00:22 Time:  0:00:22\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Finished backtest: 0:00:24\n"
     ]
    }
   ],
   "source": [
    "pybroker.register_columns('pe')\n",
    "config = StrategyConfig(max_long_positions=10)\n",
    "strategy = Strategy(pyb_data_pe, '2018-01-01', '2023-02-10', config)\n",
    "strategy.add_execution(buy_highest_volume, pyb_data_pe.symbol.unique())\n",
    "result = strategy.backtest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>trade_count</td>\n",
       "      <td>1019.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>initial_market_value</td>\n",
       "      <td>100000.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>end_market_value</td>\n",
       "      <td>8169187.38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>total_pnl</td>\n",
       "      <td>7992617.52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>unrealized_pnl</td>\n",
       "      <td>76569.86</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   name       value\n",
       "0           trade_count     1019.00\n",
       "1  initial_market_value   100000.00\n",
       "2      end_market_value  8169187.38\n",
       "3             total_pnl  7992617.52\n",
       "4        unrealized_pnl    76569.86"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.metrics_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='date'>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "index_close=index_zh_a_hist_df[\"收盘\"]\n",
    "index_time_scale=index_close/index_close.iloc[0]\n",
    "index_time_scale.plot(figsize=(18,4))\n",
    "cash_value=result.portfolio.equity/100000\n",
    "cash_value.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "#result.trades"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>type</th>\n",
       "      <th>symbol</th>\n",
       "      <th>entry_date</th>\n",
       "      <th>exit_date</th>\n",
       "      <th>entry</th>\n",
       "      <th>exit</th>\n",
       "      <th>shares</th>\n",
       "      <th>pnl</th>\n",
       "      <th>return_pct</th>\n",
       "      <th>agg_pnl</th>\n",
       "      <th>bars</th>\n",
       "      <th>pnl_per_bar</th>\n",
       "      <th>stop</th>\n",
       "      <th>mae</th>\n",
       "      <th>mfe</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>long</td>\n",
       "      <td>300063.SZ</td>\n",
       "      <td>2020-04-02</td>\n",
       "      <td>2020-04-17</td>\n",
       "      <td>35.30</td>\n",
       "      <td>42.72</td>\n",
       "      <td>584</td>\n",
       "      <td>4333.28</td>\n",
       "      <td>21.02</td>\n",
       "      <td>4333.28</td>\n",
       "      <td>10</td>\n",
       "      <td>433.33</td>\n",
       "      <td>bar</td>\n",
       "      <td>-2.36</td>\n",
       "      <td>7.54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>long</td>\n",
       "      <td>300062.SZ</td>\n",
       "      <td>2020-04-02</td>\n",
       "      <td>2020-04-17</td>\n",
       "      <td>26.74</td>\n",
       "      <td>26.45</td>\n",
       "      <td>743</td>\n",
       "      <td>-215.47</td>\n",
       "      <td>-1.08</td>\n",
       "      <td>4117.81</td>\n",
       "      <td>10</td>\n",
       "      <td>-21.55</td>\n",
       "      <td>bar</td>\n",
       "      <td>-2.00</td>\n",
       "      <td>1.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>long</td>\n",
       "      <td>300073.SZ</td>\n",
       "      <td>2020-04-02</td>\n",
       "      <td>2020-04-17</td>\n",
       "      <td>95.43</td>\n",
       "      <td>102.32</td>\n",
       "      <td>208</td>\n",
       "      <td>1433.12</td>\n",
       "      <td>7.22</td>\n",
       "      <td>5550.93</td>\n",
       "      <td>10</td>\n",
       "      <td>143.31</td>\n",
       "      <td>bar</td>\n",
       "      <td>-2.40</td>\n",
       "      <td>6.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>long</td>\n",
       "      <td>300079.SZ</td>\n",
       "      <td>2020-04-02</td>\n",
       "      <td>2020-04-17</td>\n",
       "      <td>62.78</td>\n",
       "      <td>62.22</td>\n",
       "      <td>324</td>\n",
       "      <td>-181.44</td>\n",
       "      <td>-0.89</td>\n",
       "      <td>5369.49</td>\n",
       "      <td>10</td>\n",
       "      <td>-18.14</td>\n",
       "      <td>bar</td>\n",
       "      <td>-2.19</td>\n",
       "      <td>5.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>long</td>\n",
       "      <td>300072.SZ</td>\n",
       "      <td>2020-04-02</td>\n",
       "      <td>2020-04-17</td>\n",
       "      <td>93.39</td>\n",
       "      <td>95.01</td>\n",
       "      <td>206</td>\n",
       "      <td>333.72</td>\n",
       "      <td>1.73</td>\n",
       "      <td>5703.21</td>\n",
       "      <td>10</td>\n",
       "      <td>33.37</td>\n",
       "      <td>bar</td>\n",
       "      <td>-2.13</td>\n",
       "      <td>6.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>long</td>\n",
       "      <td>300063.SZ</td>\n",
       "      <td>2020-04-20</td>\n",
       "      <td>2020-05-07</td>\n",
       "      <td>41.11</td>\n",
       "      <td>39.66</td>\n",
       "      <td>522</td>\n",
       "      <td>-756.90</td>\n",
       "      <td>-3.53</td>\n",
       "      <td>4946.31</td>\n",
       "      <td>10</td>\n",
       "      <td>-75.69</td>\n",
       "      <td>bar</td>\n",
       "      <td>-2.12</td>\n",
       "      <td>6.68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>long</td>\n",
       "      <td>300077.SZ</td>\n",
       "      <td>2020-04-20</td>\n",
       "      <td>2020-05-07</td>\n",
       "      <td>36.02</td>\n",
       "      <td>37.64</td>\n",
       "      <td>595</td>\n",
       "      <td>963.90</td>\n",
       "      <td>4.50</td>\n",
       "      <td>5910.21</td>\n",
       "      <td>10</td>\n",
       "      <td>96.39</td>\n",
       "      <td>bar</td>\n",
       "      <td>-1.26</td>\n",
       "      <td>3.47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>long</td>\n",
       "      <td>300071.SZ</td>\n",
       "      <td>2020-04-20</td>\n",
       "      <td>2020-05-07</td>\n",
       "      <td>25.21</td>\n",
       "      <td>25.43</td>\n",
       "      <td>815</td>\n",
       "      <td>179.30</td>\n",
       "      <td>0.87</td>\n",
       "      <td>6089.51</td>\n",
       "      <td>10</td>\n",
       "      <td>17.93</td>\n",
       "      <td>bar</td>\n",
       "      <td>-1.17</td>\n",
       "      <td>1.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>long</td>\n",
       "      <td>300070.SZ</td>\n",
       "      <td>2020-04-20</td>\n",
       "      <td>2020-05-07</td>\n",
       "      <td>182.75</td>\n",
       "      <td>181.84</td>\n",
       "      <td>116</td>\n",
       "      <td>-105.56</td>\n",
       "      <td>-0.50</td>\n",
       "      <td>5983.95</td>\n",
       "      <td>10</td>\n",
       "      <td>-10.56</td>\n",
       "      <td>bar</td>\n",
       "      <td>-14.22</td>\n",
       "      <td>3.64</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>long</td>\n",
       "      <td>300074.SZ</td>\n",
       "      <td>2020-04-20</td>\n",
       "      <td>2020-05-07</td>\n",
       "      <td>66.13</td>\n",
       "      <td>61.43</td>\n",
       "      <td>318</td>\n",
       "      <td>-1494.60</td>\n",
       "      <td>-7.11</td>\n",
       "      <td>4489.35</td>\n",
       "      <td>10</td>\n",
       "      <td>-149.46</td>\n",
       "      <td>bar</td>\n",
       "      <td>-10.22</td>\n",
       "      <td>1.21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    type     symbol entry_date  exit_date   entry    exit  shares      pnl  \\\n",
       "id                                                                           \n",
       "1   long  300063.SZ 2020-04-02 2020-04-17   35.30   42.72     584  4333.28   \n",
       "2   long  300062.SZ 2020-04-02 2020-04-17   26.74   26.45     743  -215.47   \n",
       "3   long  300073.SZ 2020-04-02 2020-04-17   95.43  102.32     208  1433.12   \n",
       "4   long  300079.SZ 2020-04-02 2020-04-17   62.78   62.22     324  -181.44   \n",
       "5   long  300072.SZ 2020-04-02 2020-04-17   93.39   95.01     206   333.72   \n",
       "6   long  300063.SZ 2020-04-20 2020-05-07   41.11   39.66     522  -756.90   \n",
       "7   long  300077.SZ 2020-04-20 2020-05-07   36.02   37.64     595   963.90   \n",
       "8   long  300071.SZ 2020-04-20 2020-05-07   25.21   25.43     815   179.30   \n",
       "9   long  300070.SZ 2020-04-20 2020-05-07  182.75  181.84     116  -105.56   \n",
       "10  long  300074.SZ 2020-04-20 2020-05-07   66.13   61.43     318 -1494.60   \n",
       "\n",
       "    return_pct  agg_pnl  bars  pnl_per_bar stop    mae   mfe  \n",
       "id                                                            \n",
       "1        21.02  4333.28    10       433.33  bar  -2.36  7.54  \n",
       "2        -1.08  4117.81    10       -21.55  bar  -2.00  1.32  \n",
       "3         7.22  5550.93    10       143.31  bar  -2.40  6.98  \n",
       "4        -0.89  5369.49    10       -18.14  bar  -2.19  5.20  \n",
       "5         1.73  5703.21    10        33.37  bar  -2.13  6.39  \n",
       "6        -3.53  4946.31    10       -75.69  bar  -2.12  6.68  \n",
       "7         4.50  5910.21    10        96.39  bar  -1.26  3.47  \n",
       "8         0.87  6089.51    10        17.93  bar  -1.17  1.39  \n",
       "9        -0.50  5983.95    10       -10.56  bar -14.22  3.64  \n",
       "10       -7.11  4489.35    10      -149.46  bar -10.22  1.21  "
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.trades"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 输出策略中的因子排名"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "def print_rank(ctxs: dict[str, ExecContext]) -> bool:\n",
    "    dt = tuple(ctxs.values())[0].dt\n",
    "    print(dt)\n",
    "    symbols = []\n",
    "    scores = []\n",
    "    for ctx in ctxs.values():\n",
    "        symbols.append(ctx.symbol)\n",
    "        scores.append(ctx.score)\n",
    "    \n",
    "    v_rank = pd.DataFrame({\"symbol\": symbols, \"score\": scores}).sort_values(by=\"score\", ascending=False)\n",
    "    print(v_rank.head(5))\n",
    "\n",
    "    return False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backtesting: 2020-04-01 00:00:00 to 2020-05-10 00:00:00\n",
      "\n",
      "Test split: 2020-04-01 00:00:00 to 2020-05-08 00:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0% (0 of 24) |                         | Elapsed Time: 0:00:00 ETA:  --:--:--\n",
      "  4% (1 of 24) |#                        | Elapsed Time: 0:00:00 ETA:   0:00:01\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020-04-01 00:00:00\n",
      "       symbol      score\n",
      "2   300063.SZ  447895.51\n",
      "1   300062.SZ  312732.10\n",
      "12  300073.SZ  237493.33\n",
      "18  300079.SZ  196063.63\n",
      "11  300072.SZ  171642.58\n",
      "2020-04-02 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-03 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-07 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-08 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-09 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-10 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-13 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-14 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-15 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-16 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 45% (11 of 24) |###########             | Elapsed Time: 0:00:00 ETA:   0:00:00\n",
      "100% (24 of 24) |########################| Elapsed Time: 0:00:00 Time:  0:00:00\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020-04-17 00:00:00\n",
      "       symbol      score\n",
      "2   300063.SZ  650549.86\n",
      "16  300077.SZ  366084.42\n",
      "10  300071.SZ  317601.69\n",
      "9   300070.SZ  261548.95\n",
      "13  300074.SZ  203680.73\n",
      "2020-04-20 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-21 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-22 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-23 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-24 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-27 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-28 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-29 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-04-30 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-05-06 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "2020-05-07 00:00:00\n",
      "       symbol      score\n",
      "16  300077.SZ  620288.52\n",
      "9   300070.SZ  315539.72\n",
      "2   300063.SZ  296585.77\n",
      "11  300072.SZ  195523.28\n",
      "18  300079.SZ  161662.37\n",
      "2020-05-08 00:00:00\n",
      "      symbol score\n",
      "0  300061.SZ  None\n",
      "1  300062.SZ  None\n",
      "2  300063.SZ  None\n",
      "3  300064.SZ  None\n",
      "4  300065.SZ  None\n",
      "\n",
      "Finished backtest: 0:00:00\n"
     ]
    }
   ],
   "source": [
    "config = StrategyConfig(max_long_positions=5)\n",
    "strategy = Strategy(pyb_data_pe, '2020-04-01', '2020-05-10', config)\n",
    "strategy.add_execution(buy_highest_volume, pyb_data_pe.symbol.unique()[100:120])\n",
    "strategy.set_after_exec(print_rank)\n",
    "result = strategy.backtest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "#result.trades"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 市盈率与换手率的因子排名策略实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['index', '交易日期', '股票代码', '股票简称', '开盘价', '最高价', '最低价', '收盘价', '成交量(手)',\n",
       "       '成交额(千元)', '换手率(%)', '量比', '市盈率(静态)', '市盈率(TTM)', '市盈率(动态)', '市净率',\n",
       "       '市销率', '市销率(TTM)', '股息率(%)', '股息率(TTM)(%)', '总股本(万股)', '流通股本(万股)',\n",
       "       '总市值(万元)', '流通市值(万元)'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>symbol</th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>volume</th>\n",
       "      <th>pe</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>280036</th>\n",
       "      <td>2020-08-18</td>\n",
       "      <td>300216.SZ</td>\n",
       "      <td>7.1717</td>\n",
       "      <td>7.1717</td>\n",
       "      <td>7.1717</td>\n",
       "      <td>7.1717</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>280040</th>\n",
       "      <td>2020-08-24</td>\n",
       "      <td>300216.SZ</td>\n",
       "      <td>4.7098</td>\n",
       "      <td>4.7098</td>\n",
       "      <td>4.7098</td>\n",
       "      <td>4.7098</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>280029</th>\n",
       "      <td>2020-08-07</td>\n",
       "      <td>300216.SZ</td>\n",
       "      <td>14.8786</td>\n",
       "      <td>14.8786</td>\n",
       "      <td>14.8786</td>\n",
       "      <td>14.8786</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>280038</th>\n",
       "      <td>2020-08-20</td>\n",
       "      <td>300216.SZ</td>\n",
       "      <td>5.8337</td>\n",
       "      <td>5.8337</td>\n",
       "      <td>5.8337</td>\n",
       "      <td>5.8337</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>280039</th>\n",
       "      <td>2020-08-21</td>\n",
       "      <td>300216.SZ</td>\n",
       "      <td>5.2450</td>\n",
       "      <td>5.2450</td>\n",
       "      <td>5.2450</td>\n",
       "      <td>5.2450</td>\n",
       "      <td>19.0</td>\n",
       "      <td>0.0007</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             date     symbol     open     high      low    close  volume  \\\n",
       "280036 2020-08-18  300216.SZ   7.1717   7.1717   7.1717   7.1717     2.0   \n",
       "280040 2020-08-24  300216.SZ   4.7098   4.7098   4.7098   4.7098     3.0   \n",
       "280029 2020-08-07  300216.SZ  14.8786  14.8786  14.8786  14.8786     2.0   \n",
       "280038 2020-08-20  300216.SZ   5.8337   5.8337   5.8337   5.8337     5.0   \n",
       "280039 2020-08-21  300216.SZ   5.2450   5.2450   5.2450   5.2450    19.0   \n",
       "\n",
       "            pe  \n",
       "280036  0.0001  \n",
       "280040  0.0001  \n",
       "280029  0.0001  \n",
       "280038  0.0002  \n",
       "280039  0.0007  "
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pyb_data_pe.sort_values(by=\"pe\").head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    1.132744e+06\n",
       "mean     4.284365e+00\n",
       "std      5.840322e+00\n",
       "min      1.000000e-04\n",
       "25%      1.286300e+00\n",
       "50%      2.404300e+00\n",
       "75%      4.829600e+00\n",
       "max      9.611500e+01\n",
       "Name: pe, dtype: float64"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pyb_data_pe.pe.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "def buy_highest_volume(ctx):\n",
    "    # If there are no long positions across all tickers being traded:\n",
    "    if not tuple(ctx.long_positions()):\n",
    "        ctx.buy_limit_price=ctx.close[-1]*1.095\n",
    "        ctx.buy_shares = ctx.calc_target_shares(0.1)\n",
    "        ctx.hold_bars = 10\n",
    "        ctx.score = -ctx.pe[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "pyb_data_pe=stock_daily0[[\"交易日期\",\"股票代码\",\"开盘价\",\"最高价\",\"最低价\",\"收盘价\",\"成交量(手)\",\"换手率(%)\"]]\n",
    "pyb_data_pe.columns=[\"date\",\"symbol\",\"open\",\"high\",\"low\",\"close\",\"volume\",\"pe\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backtesting: 2018-01-01 00:00:00 to 2023-02-10 00:00:00\n",
      "\n",
      "Test split: 2018-01-02 00:00:00 to 2023-02-10 00:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0% (0 of 1239) |                       | Elapsed Time: 0:00:00 ETA:  --:--:--\n",
      "  0% (1 of 1239) |                       | Elapsed Time: 0:00:01 ETA:   0:27:52\n",
      "  0% (11 of 1239) |                      | Elapsed Time: 0:00:02 ETA:   0:04:25\n",
      "  1% (21 of 1239) |                      | Elapsed Time: 0:00:02 ETA:   0:02:29\n",
      "  2% (31 of 1239) |                      | Elapsed Time: 0:00:02 ETA:   0:01:47\n",
      "  3% (41 of 1239) |                      | Elapsed Time: 0:00:02 ETA:   0:01:22\n",
      "  4% (51 of 1239) |                      | Elapsed Time: 0:00:03 ETA:   0:01:10\n",
      "  4% (61 of 1239) |#                     | Elapsed Time: 0:00:03 ETA:   0:01:01\n",
      "  5% (71 of 1239) |#                     | Elapsed Time: 0:00:03 ETA:   0:00:55\n",
      "  6% (81 of 1239) |#                     | Elapsed Time: 0:00:03 ETA:   0:00:50\n",
      "  7% (91 of 1239) |#                     | Elapsed Time: 0:00:03 ETA:   0:00:46\n",
      "  8% (101 of 1239) |#                    | Elapsed Time: 0:00:03 ETA:   0:00:42\n",
      "  8% (111 of 1239) |#                    | Elapsed Time: 0:00:03 ETA:   0:00:39\n",
      "  9% (121 of 1239) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:37\n",
      " 10% (131 of 1239) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:35\n",
      " 11% (141 of 1239) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:33\n",
      " 12% (151 of 1239) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:32\n",
      " 12% (161 of 1239) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:31\n",
      " 13% (171 of 1239) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:30\n",
      " 14% (181 of 1239) |###                  | Elapsed Time: 0:00:04 ETA:   0:00:29\n",
      " 15% (191 of 1239) |###                  | Elapsed Time: 0:00:05 ETA:   0:00:28\n",
      " 16% (201 of 1239) |###                  | Elapsed Time: 0:00:05 ETA:   0:00:27\n",
      " 17% (211 of 1239) |###                  | Elapsed Time: 0:00:05 ETA:   0:00:26\n",
      " 17% (221 of 1239) |###                  | Elapsed Time: 0:00:05 ETA:   0:00:25\n",
      " 18% (231 of 1239) |###                  | Elapsed Time: 0:00:05 ETA:   0:00:24\n",
      " 19% (241 of 1239) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:24\n",
      " 20% (251 of 1239) |####                 | Elapsed Time: 0:00:06 ETA:   0:00:23\n",
      " 21% (261 of 1239) |####                 | Elapsed Time: 0:00:06 ETA:   0:00:23\n",
      " 21% (271 of 1239) |####                 | Elapsed Time: 0:00:06 ETA:   0:00:22\n",
      " 22% (281 of 1239) |####                 | Elapsed Time: 0:00:06 ETA:   0:00:22\n",
      " 23% (291 of 1239) |####                 | Elapsed Time: 0:00:06 ETA:   0:00:21\n",
      " 24% (301 of 1239) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:21\n",
      " 25% (311 of 1239) |#####                | Elapsed Time: 0:00:07 ETA:   0:00:21\n",
      " 25% (321 of 1239) |#####                | Elapsed Time: 0:00:07 ETA:   0:00:20\n",
      " 26% (331 of 1239) |#####                | Elapsed Time: 0:00:07 ETA:   0:00:20\n",
      " 27% (341 of 1239) |#####                | Elapsed Time: 0:00:07 ETA:   0:00:19\n",
      " 28% (351 of 1239) |#####                | Elapsed Time: 0:00:07 ETA:   0:00:19\n",
      " 29% (361 of 1239) |######               | Elapsed Time: 0:00:07 ETA:   0:00:19\n",
      " 29% (371 of 1239) |######               | Elapsed Time: 0:00:08 ETA:   0:00:18\n",
      " 30% (381 of 1239) |######               | Elapsed Time: 0:00:08 ETA:   0:00:18\n",
      " 31% (391 of 1239) |######               | Elapsed Time: 0:00:08 ETA:   0:00:18\n",
      " 32% (401 of 1239) |######               | Elapsed Time: 0:00:08 ETA:   0:00:17\n",
      " 33% (411 of 1239) |######               | Elapsed Time: 0:00:08 ETA:   0:00:17\n",
      " 33% (421 of 1239) |#######              | Elapsed Time: 0:00:08 ETA:   0:00:17\n",
      " 34% (431 of 1239) |#######              | Elapsed Time: 0:00:08 ETA:   0:00:16\n",
      " 35% (441 of 1239) |#######              | Elapsed Time: 0:00:09 ETA:   0:00:16\n",
      " 36% (451 of 1239) |#######              | Elapsed Time: 0:00:09 ETA:   0:00:16\n",
      " 37% (461 of 1239) |#######              | Elapsed Time: 0:00:09 ETA:   0:00:15\n",
      " 38% (471 of 1239) |#######              | Elapsed Time: 0:00:09 ETA:   0:00:15\n",
      " 38% (481 of 1239) |########             | Elapsed Time: 0:00:09 ETA:   0:00:15\n",
      " 39% (491 of 1239) |########             | Elapsed Time: 0:00:09 ETA:   0:00:14\n",
      " 40% (501 of 1239) |########             | Elapsed Time: 0:00:09 ETA:   0:00:14\n",
      " 41% (511 of 1239) |########             | Elapsed Time: 0:00:10 ETA:   0:00:14\n",
      " 42% (521 of 1239) |########             | Elapsed Time: 0:00:10 ETA:   0:00:14\n",
      " 42% (531 of 1239) |#########            | Elapsed Time: 0:00:10 ETA:   0:00:13\n",
      " 43% (541 of 1239) |#########            | Elapsed Time: 0:00:10 ETA:   0:00:13\n",
      " 44% (551 of 1239) |#########            | Elapsed Time: 0:00:10 ETA:   0:00:13\n",
      " 45% (561 of 1239) |#########            | Elapsed Time: 0:00:10 ETA:   0:00:13\n",
      " 46% (571 of 1239) |#########            | Elapsed Time: 0:00:11 ETA:   0:00:12\n",
      " 46% (581 of 1239) |#########            | Elapsed Time: 0:00:11 ETA:   0:00:12\n",
      " 47% (591 of 1239) |##########           | Elapsed Time: 0:00:11 ETA:   0:00:12\n",
      " 48% (601 of 1239) |##########           | Elapsed Time: 0:00:11 ETA:   0:00:12\n",
      " 49% (611 of 1239) |##########           | Elapsed Time: 0:00:11 ETA:   0:00:12\n",
      " 50% (621 of 1239) |##########           | Elapsed Time: 0:00:11 ETA:   0:00:11\n",
      " 50% (631 of 1239) |##########           | Elapsed Time: 0:00:12 ETA:   0:00:11\n",
      " 51% (641 of 1239) |##########           | Elapsed Time: 0:00:12 ETA:   0:00:11\n",
      " 52% (651 of 1239) |###########          | Elapsed Time: 0:00:12 ETA:   0:00:11\n",
      " 53% (661 of 1239) |###########          | Elapsed Time: 0:00:12 ETA:   0:00:11\n",
      " 54% (671 of 1239) |###########          | Elapsed Time: 0:00:12 ETA:   0:00:10\n",
      " 54% (681 of 1239) |###########          | Elapsed Time: 0:00:13 ETA:   0:00:10\n",
      " 55% (691 of 1239) |###########          | Elapsed Time: 0:00:13 ETA:   0:00:10\n",
      " 56% (701 of 1239) |###########          | Elapsed Time: 0:00:13 ETA:   0:00:10\n",
      " 57% (711 of 1239) |############         | Elapsed Time: 0:00:13 ETA:   0:00:10\n",
      " 58% (721 of 1239) |############         | Elapsed Time: 0:00:14 ETA:   0:00:10\n",
      " 58% (731 of 1239) |############         | Elapsed Time: 0:00:14 ETA:   0:00:09\n",
      " 59% (741 of 1239) |############         | Elapsed Time: 0:00:14 ETA:   0:00:09\n",
      " 60% (751 of 1239) |############         | Elapsed Time: 0:00:14 ETA:   0:00:09\n",
      " 61% (761 of 1239) |############         | Elapsed Time: 0:00:14 ETA:   0:00:09\n",
      " 62% (771 of 1239) |#############        | Elapsed Time: 0:00:15 ETA:   0:00:09\n",
      " 63% (781 of 1239) |#############        | Elapsed Time: 0:00:15 ETA:   0:00:08\n",
      " 63% (791 of 1239) |#############        | Elapsed Time: 0:00:15 ETA:   0:00:08\n",
      " 64% (801 of 1239) |#############        | Elapsed Time: 0:00:15 ETA:   0:00:08\n",
      " 65% (811 of 1239) |#############        | Elapsed Time: 0:00:16 ETA:   0:00:08\n",
      " 66% (821 of 1239) |#############        | Elapsed Time: 0:00:16 ETA:   0:00:08\n",
      " 67% (831 of 1239) |##############       | Elapsed Time: 0:00:16 ETA:   0:00:08\n",
      " 67% (841 of 1239) |##############       | Elapsed Time: 0:00:16 ETA:   0:00:07\n",
      " 68% (851 of 1239) |##############       | Elapsed Time: 0:00:16 ETA:   0:00:07\n",
      " 69% (861 of 1239) |##############       | Elapsed Time: 0:00:17 ETA:   0:00:07\n",
      " 70% (871 of 1239) |##############       | Elapsed Time: 0:00:17 ETA:   0:00:07\n",
      " 71% (881 of 1239) |##############       | Elapsed Time: 0:00:17 ETA:   0:00:07\n",
      " 71% (891 of 1239) |###############      | Elapsed Time: 0:00:18 ETA:   0:00:07\n",
      " 72% (901 of 1239) |###############      | Elapsed Time: 0:00:18 ETA:   0:00:06\n",
      " 73% (911 of 1239) |###############      | Elapsed Time: 0:00:18 ETA:   0:00:06\n",
      " 74% (921 of 1239) |###############      | Elapsed Time: 0:00:18 ETA:   0:00:06\n",
      " 75% (931 of 1239) |###############      | Elapsed Time: 0:00:19 ETA:   0:00:06\n",
      " 75% (941 of 1239) |###############      | Elapsed Time: 0:00:19 ETA:   0:00:06\n",
      " 76% (951 of 1239) |################     | Elapsed Time: 0:00:19 ETA:   0:00:05\n",
      " 77% (961 of 1239) |################     | Elapsed Time: 0:00:19 ETA:   0:00:05\n",
      " 78% (971 of 1239) |################     | Elapsed Time: 0:00:19 ETA:   0:00:05\n",
      " 79% (981 of 1239) |################     | Elapsed Time: 0:00:20 ETA:   0:00:05\n",
      " 79% (991 of 1239) |################     | Elapsed Time: 0:00:20 ETA:   0:00:05\n",
      " 80% (1001 of 1239) |################    | Elapsed Time: 0:00:20 ETA:   0:00:04\n",
      " 81% (1011 of 1239) |################    | Elapsed Time: 0:00:20 ETA:   0:00:04\n",
      " 82% (1021 of 1239) |################    | Elapsed Time: 0:00:21 ETA:   0:00:04\n",
      " 83% (1031 of 1239) |################    | Elapsed Time: 0:00:21 ETA:   0:00:04\n",
      " 84% (1041 of 1239) |################    | Elapsed Time: 0:00:21 ETA:   0:00:04\n",
      " 84% (1051 of 1239) |################    | Elapsed Time: 0:00:22 ETA:   0:00:03\n",
      " 85% (1061 of 1239) |#################   | Elapsed Time: 0:00:22 ETA:   0:00:03\n",
      " 86% (1071 of 1239) |#################   | Elapsed Time: 0:00:22 ETA:   0:00:03\n",
      " 88% (1091 of 1239) |#################   | Elapsed Time: 0:00:22 ETA:   0:00:03\n",
      " 88% (1101 of 1239) |#################   | Elapsed Time: 0:00:23 ETA:   0:00:02\n",
      " 89% (1111 of 1239) |#################   | Elapsed Time: 0:00:23 ETA:   0:00:02\n",
      " 90% (1121 of 1239) |##################  | Elapsed Time: 0:00:23 ETA:   0:00:02\n",
      " 91% (1131 of 1239) |##################  | Elapsed Time: 0:00:23 ETA:   0:00:02\n",
      " 92% (1141 of 1239) |##################  | Elapsed Time: 0:00:23 ETA:   0:00:02\n",
      " 92% (1151 of 1239) |##################  | Elapsed Time: 0:00:24 ETA:   0:00:01\n",
      " 93% (1161 of 1239) |##################  | Elapsed Time: 0:00:24 ETA:   0:00:01\n",
      " 94% (1171 of 1239) |##################  | Elapsed Time: 0:00:24 ETA:   0:00:01\n",
      " 95% (1181 of 1239) |################### | Elapsed Time: 0:00:25 ETA:   0:00:01\n",
      " 96% (1191 of 1239) |################### | Elapsed Time: 0:00:25 ETA:   0:00:01\n",
      " 96% (1201 of 1239) |################### | Elapsed Time: 0:00:25 ETA:   0:00:00\n",
      " 97% (1211 of 1239) |################### | Elapsed Time: 0:00:25 ETA:   0:00:00\n",
      " 98% (1221 of 1239) |################### | Elapsed Time: 0:00:26 ETA:   0:00:00\n",
      " 99% (1231 of 1239) |################### | Elapsed Time: 0:00:26 ETA:   0:00:00\n",
      "100% (1239 of 1239) |####################| Elapsed Time: 0:00:26 Time:  0:00:26\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Finished backtest: 0:00:28\n"
     ]
    }
   ],
   "source": [
    "pybroker.register_columns('pe')\n",
    "config = StrategyConfig(max_long_positions=10)\n",
    "strategy = Strategy(pyb_data_pe, '2018-01-01', '2023-02-10', config)\n",
    "strategy.add_execution(buy_highest_volume, pyb_data_pe.symbol.unique())\n",
    "result = strategy.backtest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>type</th>\n",
       "      <th>symbol</th>\n",
       "      <th>date</th>\n",
       "      <th>shares</th>\n",
       "      <th>limit_price</th>\n",
       "      <th>fill_price</th>\n",
       "      <th>fees</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>buy</td>\n",
       "      <td>300174.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>91</td>\n",
       "      <td>119.56</td>\n",
       "      <td>107.98</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>buy</td>\n",
       "      <td>300042.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>150</td>\n",
       "      <td>72.52</td>\n",
       "      <td>65.85</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>buy</td>\n",
       "      <td>300448.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>182</td>\n",
       "      <td>60.10</td>\n",
       "      <td>55.60</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>buy</td>\n",
       "      <td>300138.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>223</td>\n",
       "      <td>48.92</td>\n",
       "      <td>44.65</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>buy</td>\n",
       "      <td>300178.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>165</td>\n",
       "      <td>66.02</td>\n",
       "      <td>60.79</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>buy</td>\n",
       "      <td>300001.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>105</td>\n",
       "      <td>103.89</td>\n",
       "      <td>95.19</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>buy</td>\n",
       "      <td>300257.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>110</td>\n",
       "      <td>98.81</td>\n",
       "      <td>89.89</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>buy</td>\n",
       "      <td>300114.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>165</td>\n",
       "      <td>65.99</td>\n",
       "      <td>61.52</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>buy</td>\n",
       "      <td>300094.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>593</td>\n",
       "      <td>18.44</td>\n",
       "      <td>16.93</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>buy</td>\n",
       "      <td>300301.SZ</td>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>291</td>\n",
       "      <td>37.52</td>\n",
       "      <td>34.13</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>sell</td>\n",
       "      <td>300174.SZ</td>\n",
       "      <td>2018-01-17</td>\n",
       "      <td>91</td>\n",
       "      <td>NaN</td>\n",
       "      <td>104.94</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>sell</td>\n",
       "      <td>300042.SZ</td>\n",
       "      <td>2018-01-17</td>\n",
       "      <td>150</td>\n",
       "      <td>NaN</td>\n",
       "      <td>65.25</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    type     symbol       date  shares  limit_price  fill_price  fees\n",
       "id                                                                   \n",
       "1    buy  300174.SZ 2018-01-03      91       119.56      107.98   0.0\n",
       "2    buy  300042.SZ 2018-01-03     150        72.52       65.85   0.0\n",
       "3    buy  300448.SZ 2018-01-03     182        60.10       55.60   0.0\n",
       "4    buy  300138.SZ 2018-01-03     223        48.92       44.65   0.0\n",
       "5    buy  300178.SZ 2018-01-03     165        66.02       60.79   0.0\n",
       "6    buy  300001.SZ 2018-01-03     105       103.89       95.19   0.0\n",
       "7    buy  300257.SZ 2018-01-03     110        98.81       89.89   0.0\n",
       "8    buy  300114.SZ 2018-01-03     165        65.99       61.52   0.0\n",
       "9    buy  300094.SZ 2018-01-03     593        18.44       16.93   0.0\n",
       "10   buy  300301.SZ 2018-01-03     291        37.52       34.13   0.0\n",
       "11  sell  300174.SZ 2018-01-17      91          NaN      104.94   0.0\n",
       "12  sell  300042.SZ 2018-01-17     150          NaN       65.25   0.0"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.orders.head(12)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>trade_count</td>\n",
       "      <td>1055.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>initial_market_value</td>\n",
       "      <td>100000.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>end_market_value</td>\n",
       "      <td>148042.77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>total_pnl</td>\n",
       "      <td>44380.79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>unrealized_pnl</td>\n",
       "      <td>3661.98</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   name      value\n",
       "0           trade_count    1055.00\n",
       "1  initial_market_value  100000.00\n",
       "2      end_market_value  148042.77\n",
       "3             total_pnl   44380.79\n",
       "4        unrealized_pnl    3661.98"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.metrics_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='date'>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABaUAAAFXCAYAAACyUSI+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QV0FGf3BvAn7gmEhAhBAgR3dwrF2gL1llL7Wuru8rX996u7uzultLRUKFCKu7tDSCCQhAhxl/+5887s7G6EuD6/c3J2VrI7sc3unfs+16G4uLgYRERERERERERERER1wLEuHoSIiIiIiIiIiIiISLAoTURERERERERERER1hkVpIiIiIiIiIiIiIqozLEoTERERERERERERUZ1hUZqIiIiIiIiIiIiI6gyL0kRERERERERERERUZ1iUJiIiIiIiIiIiIqI644wGrqioCKdOnYKPjw8cHBzqe3eIiIiIiIiIiIiIqBTFxcVIT09HaGgoHB0dG29RWgrSbdu2re/dICIiIiIiIiIiIqIKOHHiBMLCwhpvUVo6pI0vxNfXt753h4iIiIiIiIiIiIhKkZaWpjUYGzXdRluUNiI7pCDNojQRERERERERERFRw3a2GGYOOiQiIiIiIiIiIiKiOsOiNBERERERERERERHVGRaliYiIiIiIiIiIiKjOsChNRERERERERERERHWGRWkiIiIiIiIiIiIiqjMsShMRERERERERERFRnWFRmoiIiIiIiIiIiIjqDIvSRERERERERERERFRnWJQmIiIiIiIiIiIiqq7EI0Di4frei0aBRWkiIiIiIiIiIiKi6ji9H/hwKPD+IGDTZ/W9Nw0ei9JERERERERERERElVFYAKx8DTixWZ3fOQcoKlDbGz4CiovrdfcaOhaliYiIiIiIiIiIiCpj1xxg+fPAFxPU+QN/mdclHwWi19XbrjUGzvW9A0RERERERERERESNinV2dFYykHRUbfe8RJ26+9XPfjUSLEoTERERERERERERVYpVPMf+P9V5D3/gsi8BB4f63LFGgfEdRERERERERERERJWRFmtur31bnQZ0YUG6gliUJiIiIiIiIiIiIqqMtFPmdnKkOg3sUm+709iwKE1ERERERERERERUGWkx6nTic0DEZMDJFehyXn3vVaPBTGkiIiIiIiIiIiKiiioqNDule1wIjLxH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GvCtmXsQYFmTAYe3zwMuxOhhhTJI8sxuAENtH5d4Ql82vgroeLf+ICIiIiIiIiKq4NgpTUTlQ5UAoP0YwCfUcl+nsfry1Gbg5CZ9vfujgLsnHK52W6DRlZYYkSWv6W1MjrM8JuG4vgyo7ZhtJCIiIiIiIiJyAHZKE1H5JUXq8A7A7nnAwaVAYITzdRtL9Ijh89461qPbw0DXB4EEU6e0RJEQEREREREREVUSLtnZ2dlwYomJiQgICEBCQgL8/f0dvTlERIUjT7G/3gVs/8X2fr8w4EIskJ0JPLqT3dJEREREREREVO4VtJbL+A4iotIkWdfXfGy53eNxIDAKSDqlC9IuboBfTUduIRERERERERFRmWJ8BxFRafOoCty5UA82bDYM6PUEsO5zYPm7QEQnwNXN0VtIRERERERERFRmGN9BROQoWVn60pWLVoiIiIiIiIio/CtoLZed0kREjsJiNBERERERERFVQqyIEBEREREREREREVGZYVGaiIiIiIiIiIiIiMoMi9JEREREREREREREVGZYlCYiIiIiIiIiIiKiMsOiNBERERERERERERGVGRaliYiIiIiIiIiIiKjMsChNRERERERERERERGWGRWkiIiIiIiIiIiIiKjPucHLZ2dnqMjEx0dGbQkRERERERERERER5MGq4Rk233Balk5KS1GVERISjN4WIiIiIiIiIiIiIClDTDQgIyPPzLtmXK1s7WFZWFk6ePAk/Pz+4uLigMp1VkEL8sWPH4O/v7+jNIaISxn2cqOLi/k1UsXEfJ6q4uH8TVVzcv8uOlJqlIF2rVi24urqW305p2fjw8HBUVrKjcGchqri4jxNVXNy/iSo27uNEFRf3b6KKi/t32civQ9rAQYdEREREREREREREVGZYlCYiIiIiIiIiIiKiMsOitJPy8vLCiy++qC6JqOLhPk5UcXH/JqrYuI8TVVzcv4kqLu7fzsfpBx0SERERERERERERUcXBTmkiIiIiIiIiIiIiKjMsShMRERERERERERFRmWFRmoiIiIiIiIiIiIjKDIvSRERERERERERERFRmWJQmIiIiIiIiIiIiojLDojQRERERERGA7OxsR28CERERFVFGRoajN4EKgUVpBzh69CgeeeQRTJkyBevXr1f38QCYqKRlf3IAAA7ESURBVGI4duwYXnvtNfzyyy/YvHmzui8rK8vRm0VEJbR/T506Ff/995+jN4WISsHZs2exbt06dZ2v3UQVy5EjR3DPPfdg0qRJ5v2c78GJKo7Zs2ejf//+GDNmDH7//Xd1H/dx58eidBmbMWMGmjRpgkOHDqkd5b777sPu3bvh4uLi6E0jomL67bff0K5dO2zcuBGvv/46hg0bhg0bNsDV1ZUviETlnJxEbtGiBZYsWYJx48bhlVdeUa/lgvs3UcU5Th88eLC6Lq/dRFQxzJkzB40aNUJMTAx+/fVX3HnnndixY4d6D87XcKLy79tvv8Xtt9+ODh06IDIyEhMmTMD27dtZZysHeLRVxubOnYvJkyfjjz/+wEcffYQ6depg+fLljt4sIioBP/74I55//nl1sCv7eL9+/fDAAw+oz/EFkah8+/vvv9G7d298//33+Oqrr+Du7o7x48erz3H/JqoY1qxZg/j4eEycOFHdzszMdPQmEVEJkGPzZ555Rh2fT5s2Da1atVIrnwRfw4nKv3nz5uGDDz5QjWFyfN6mTRusXLnS0ZtFBcCidBnm2siBrY+PDy5cuKDua9CgAY4fP652GAPP1BKVP7JvnzlzBqdOnYKnp6e6r1atWhg5ciRSU1PVaggiKl/27dunlvIbuXQSvZWQkKCuS8f0448/jj179qgCtWDxiqh87uNGTMfJkycRGxuLjz/+WK2EiIuLg5ubG4/NiSrAa/ilS5dU96TxHtzf39+8GoL7OFH538dr1qxpPhYPCQlRqyJkBbOB+7nzYlG6FH3yySe4//771XU5qBVyVlaW+L/zzju48sorsW3bNrz66qu48cYbkZ6ezjO1ROV0/zYObi9evKhOPMl9KSkp6ra3t7ejN5eICigxMRFDhgxB+/btcdVVV+Hpp59W97ds2VK9RkshWsgJqDfeeAOPPfaYzes8EZWvffyJJ54wn0weOnSoitYbOHCgWt4v+EaWqPzu388++6y6XyL15L23nISS1+vq1aur9+GC77+Jyv9x+sMPP6xew6Uw/d5776kuaemYllXMgvu582JRuhRJruynn36quqtkJ5AXwNtuu00VsmT5ryz9lYELsqNILqVk4AgOViEqX/u38PLyws0334zp06erQpUsDXz77bexd+9eHD582NGbS0QFJCeN5TV7y5YtGDFiBObPn68Gp/Ts2VMVoo3hSOKaa65B8+bN1ZJgwddvovK3j//1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ooqL+zdRxcZ9vPJhUbqIdu7ciRUrVmD8+PG4+eabER8fj379+jl6s4ioBHD/Jqq4uH8TVWzcx4kqLu7fRBUb9/HKxyVbRlxSoUnY+vz58/Hggw+iSpUqjt4cIipB3L+JKi7u30QVG/dxooqL+zdRxcZ9vPJhUZqIiIiIiIiIiIiIygzjO4iIiIiIiIiIiIiozLAoTURERERERERERERlhkVpIiIiIiIiIiIiIiozLEoTERERERERERERUZlhUZqIiIiIiIiIiIiIygyL0kRERERERERERERUZliUJiIiIiIqYYcPH4aLi4ujN4OIiIiIyCmxKE1ERERE5EC9e/fG119/7ejNICIiIiIqMyxKExEREREREREREVGZYVGaiIiIiKgEzJ07F/Xr10doaCimT59uvn/VqlVo06YNvL290bFjR+zcuVPdP27cOBXxsWzZMowZM0Zdl/sM69evR6dOnRAQEIDhw4cjISHBIb8XEREREVFJY1GaiIiIiKiYYmJicP311+PJJ5/EmjVrVIFaZGVlYeTIkaqofPDgQfTs2ROPP/64+tz777+P+Ph4dOvWDZMnT1bX5T5x/vx5XHnllepj69atSExMxGOPPebQ35GIiIiIqKS4l9h3IiIiIiKqpBYsWIDo6Gjcfffd6vZLL72EIUOGqOubNm1CUFCQKi5LsXnPnj3q/qpVq6oPd3d31UUdGBho/n7z5s2Dh4cHXnzxRdVBLYXs2267zUG/HRERERFRyWJRmoiIiIiomE6dOoXIyEjz7Xr16qlLV1dX1f08bdo01K1bFxEREcjMzLzs9zt+/DjOnDmjitlGx3VSUhJSU1NRpUqVUvxNiIiIiIhKH4vSRERERETFVL16dZw8edJ8++jRo+py6dKl+OKLL7Br1y71mPnz52PDhg02XyuF6+zsbJv7wsPD0a5dO/z000/qtnxeMqWle5qIiIiIqLxjpjQRERERUTENGDAAu3fvxjfffIMDBw6o+A4h3c1CYjtk4OH48eNzFaClq/qff/5R3daLFi1SndQS/SGF7XXr1qmIj19++QWDBg3K9bVEREREROURi9JERERERMUknc0zZszAyy+/jO7du6vhhUIKyfLRtm1bjBs3TmVOS0e1DEY0PPfcc6qQHRUVpR4jUR2SLz179my89957KvZj5syZ6rbkTxMRERERlXcu2Wy3ICIiIiIiIiIiIqIywk5pIiIiIiIiIiIiIiozLEoTERERERERERERUZlhUZqIiIiIiIiIiIiIygyL0kRERERERERERERUZliUJiIiIiIiIiIiIqIyw6I0EREREREREREREZUZFqWJiIiIiIiIiIiIqMywKE1EREREREREREREZYZFaSIiIiIiIiIiIiIqMyxKExERERERERERERHKyv8BbiF7aWId3A8AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "index_close=index_zh_a_hist_df[\"收盘\"]\n",
    "index_time_scale=index_close/index_close.iloc[0]\n",
    "index_time_scale.plot(figsize=(18,4))\n",
    "cash_value=result.portfolio.equity/100000\n",
    "cash_value.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 限价与涨停——换手率因子问题解决\n",
    "\n",
    "* 换手率极小的意义\n",
    "* buy_limit_price"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['index', '交易日期', '股票代码', '股票简称', '开盘价', '最高价', '最低价', '收盘价', '成交量(手)',\n",
       "       '成交额(千元)', '换手率(%)', '量比', '市盈率(静态)', '市盈率(TTM)', '市盈率(动态)', '市净率',\n",
       "       '市销率', '市销率(TTM)', '股息率(%)', '股息率(TTM)(%)', '总股本(万股)', '流通股本(万股)',\n",
       "       '总市值(万元)', '流通市值(万元)'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "pyb_data_huan=stock_daily0[[\"交易日期\",\"股票代码\",\"开盘价\",\"最高价\",\"最低价\",\"收盘价\",\"成交量(手)\",\"换手率(%)\"]]\n",
    "pyb_data_huan.columns=[\"date\",\"symbol\",\"open\",\"high\",\"low\",\"close\",\"volume\",\"huanshou\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    1.132744e+06\n",
       "mean     4.284365e+00\n",
       "std      5.840322e+00\n",
       "min      1.000000e-04\n",
       "25%      1.286300e+00\n",
       "50%      2.404300e+00\n",
       "75%      4.829600e+00\n",
       "max      9.611500e+01\n",
       "Name: huanshou, dtype: float64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pyb_data_huan.huanshou.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "def buy_highest_huan(ctx):\n",
    "    # If there are no long positions across all tickers being traded:\n",
    "    if not tuple(ctx.long_positions()) and ctx.huanshou[-1] > 1.5:\n",
    "        ctx.buy_shares = ctx.calc_target_shares(0.2)\n",
    "        ctx.hold_bars = 25\n",
    "        ctx.score = -ctx.huanshou[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backtesting: 2018-02-22 00:00:00 to 2023-02-10 00:00:00\n",
      "\n",
      "Test split: 2018-02-22 00:00:00 to 2023-02-10 00:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0% (0 of 1207) |                       | Elapsed Time: 0:00:00 ETA:  --:--:--\n",
      "  0% (1 of 1207) |                       | Elapsed Time: 0:00:00 ETA:   0:12:44\n",
      "  0% (11 of 1207) |                      | Elapsed Time: 0:00:01 ETA:   0:01:49\n",
      "  1% (21 of 1207) |                      | Elapsed Time: 0:00:01 ETA:   0:00:59\n",
      "  2% (31 of 1207) |                      | Elapsed Time: 0:00:01 ETA:   0:01:10\n",
      "  4% (51 of 1207) |                      | Elapsed Time: 0:00:01 ETA:   0:00:44\n",
      "  5% (61 of 1207) |#                     | Elapsed Time: 0:00:02 ETA:   0:00:41\n",
      "  5% (71 of 1207) |#                     | Elapsed Time: 0:00:02 ETA:   0:00:36\n",
      "  6% (81 of 1207) |#                     | Elapsed Time: 0:00:02 ETA:   0:00:33\n",
      "  8% (101 of 1207) |#                    | Elapsed Time: 0:00:02 ETA:   0:00:27\n",
      "  9% (111 of 1207) |#                    | Elapsed Time: 0:00:02 ETA:   0:00:26\n",
      " 10% (131 of 1207) |##                   | Elapsed Time: 0:00:02 ETA:   0:00:23\n",
      " 11% (141 of 1207) |##                   | Elapsed Time: 0:00:02 ETA:   0:00:22\n",
      " 13% (161 of 1207) |##                   | Elapsed Time: 0:00:03 ETA:   0:00:20\n",
      " 14% (171 of 1207) |##                   | Elapsed Time: 0:00:03 ETA:   0:00:19\n",
      " 15% (191 of 1207) |###                  | Elapsed Time: 0:00:03 ETA:   0:00:18\n",
      " 16% (201 of 1207) |###                  | Elapsed Time: 0:00:03 ETA:   0:00:17\n",
      " 17% (211 of 1207) |###                  | Elapsed Time: 0:00:03 ETA:   0:00:16\n",
      " 18% (221 of 1207) |###                  | Elapsed Time: 0:00:03 ETA:   0:00:16\n",
      " 19% (231 of 1207) |####                 | Elapsed Time: 0:00:03 ETA:   0:00:15\n",
      " 19% (241 of 1207) |####                 | Elapsed Time: 0:00:03 ETA:   0:00:15\n",
      " 20% (251 of 1207) |####                 | Elapsed Time: 0:00:03 ETA:   0:00:14\n",
      " 21% (261 of 1207) |####                 | Elapsed Time: 0:00:03 ETA:   0:00:14\n",
      " 22% (271 of 1207) |####                 | Elapsed Time: 0:00:04 ETA:   0:00:14\n",
      " 23% (281 of 1207) |####                 | Elapsed Time: 0:00:04 ETA:   0:00:13\n",
      " 24% (291 of 1207) |#####                | Elapsed Time: 0:00:04 ETA:   0:00:13\n",
      " 25% (311 of 1207) |#####                | Elapsed Time: 0:00:04 ETA:   0:00:12\n",
      " 26% (321 of 1207) |#####                | Elapsed Time: 0:00:04 ETA:   0:00:12\n",
      " 28% (341 of 1207) |#####                | Elapsed Time: 0:00:04 ETA:   0:00:12\n",
      " 29% (361 of 1207) |######               | Elapsed Time: 0:00:04 ETA:   0:00:11\n",
      " 30% (371 of 1207) |######               | Elapsed Time: 0:00:04 ETA:   0:00:11\n",
      " 32% (391 of 1207) |######               | Elapsed Time: 0:00:05 ETA:   0:00:10\n",
      " 33% (401 of 1207) |######               | Elapsed Time: 0:00:05 ETA:   0:00:10\n",
      " 34% (421 of 1207) |#######              | Elapsed Time: 0:00:05 ETA:   0:00:10\n",
      " 35% (431 of 1207) |#######              | Elapsed Time: 0:00:05 ETA:   0:00:09\n",
      " 37% (451 of 1207) |#######              | Elapsed Time: 0:00:05 ETA:   0:00:09\n",
      " 38% (461 of 1207) |########             | Elapsed Time: 0:00:05 ETA:   0:00:09\n",
      " 39% (471 of 1207) |########             | Elapsed Time: 0:00:05 ETA:   0:00:09\n",
      " 39% (481 of 1207) |########             | Elapsed Time: 0:00:05 ETA:   0:00:08\n",
      " 40% (491 of 1207) |########             | Elapsed Time: 0:00:06 ETA:   0:00:08\n",
      " 41% (501 of 1207) |########             | Elapsed Time: 0:00:06 ETA:   0:00:08\n",
      " 42% (511 of 1207) |########             | Elapsed Time: 0:00:06 ETA:   0:00:08\n",
      " 43% (521 of 1207) |#########            | Elapsed Time: 0:00:06 ETA:   0:00:08\n",
      " 44% (541 of 1207) |#########            | Elapsed Time: 0:00:06 ETA:   0:00:07\n",
      " 45% (551 of 1207) |#########            | Elapsed Time: 0:00:06 ETA:   0:00:07\n",
      " 47% (571 of 1207) |#########            | Elapsed Time: 0:00:06 ETA:   0:00:07\n",
      " 48% (581 of 1207) |##########           | Elapsed Time: 0:00:06 ETA:   0:00:07\n",
      " 49% (601 of 1207) |##########           | Elapsed Time: 0:00:07 ETA:   0:00:07\n",
      " 51% (621 of 1207) |##########           | Elapsed Time: 0:00:07 ETA:   0:00:06\n",
      " 52% (631 of 1207) |##########           | Elapsed Time: 0:00:07 ETA:   0:00:06\n",
      " 53% (651 of 1207) |###########          | Elapsed Time: 0:00:07 ETA:   0:00:06\n",
      " 54% (661 of 1207) |###########          | Elapsed Time: 0:00:07 ETA:   0:00:06\n",
      " 56% (681 of 1207) |###########          | Elapsed Time: 0:00:08 ETA:   0:00:06\n",
      " 57% (691 of 1207) |############         | Elapsed Time: 0:00:08 ETA:   0:00:06\n",
      " 58% (701 of 1207) |############         | Elapsed Time: 0:00:08 ETA:   0:00:05\n",
      " 58% (711 of 1207) |############         | Elapsed Time: 0:00:08 ETA:   0:00:05\n",
      " 59% (721 of 1207) |############         | Elapsed Time: 0:00:08 ETA:   0:00:05\n",
      " 60% (731 of 1207) |############         | Elapsed Time: 0:00:08 ETA:   0:00:05\n",
      " 61% (741 of 1207) |############         | Elapsed Time: 0:00:08 ETA:   0:00:05\n",
      " 62% (751 of 1207) |#############        | Elapsed Time: 0:00:08 ETA:   0:00:05\n",
      " 63% (761 of 1207) |#############        | Elapsed Time: 0:00:09 ETA:   0:00:05\n",
      " 63% (771 of 1207) |#############        | Elapsed Time: 0:00:09 ETA:   0:00:05\n",
      " 64% (781 of 1207) |#############        | Elapsed Time: 0:00:09 ETA:   0:00:05\n",
      " 65% (791 of 1207) |#############        | Elapsed Time: 0:00:09 ETA:   0:00:04\n",
      " 66% (801 of 1207) |#############        | Elapsed Time: 0:00:09 ETA:   0:00:04\n",
      " 67% (811 of 1207) |##############       | Elapsed Time: 0:00:09 ETA:   0:00:04\n",
      " 68% (831 of 1207) |##############       | Elapsed Time: 0:00:09 ETA:   0:00:04\n",
      " 69% (841 of 1207) |##############       | Elapsed Time: 0:00:10 ETA:   0:00:04\n",
      " 71% (861 of 1207) |##############       | Elapsed Time: 0:00:10 ETA:   0:00:04\n",
      " 72% (871 of 1207) |###############      | Elapsed Time: 0:00:10 ETA:   0:00:04\n",
      " 73% (891 of 1207) |###############      | Elapsed Time: 0:00:10 ETA:   0:00:03\n",
      " 75% (911 of 1207) |###############      | Elapsed Time: 0:00:10 ETA:   0:00:03\n",
      " 76% (921 of 1207) |################     | Elapsed Time: 0:00:11 ETA:   0:00:03\n",
      " 77% (941 of 1207) |################     | Elapsed Time: 0:00:11 ETA:   0:00:03\n",
      " 78% (951 of 1207) |################     | Elapsed Time: 0:00:11 ETA:   0:00:03\n",
      " 80% (971 of 1207) |################     | Elapsed Time: 0:00:11 ETA:   0:00:02\n",
      " 81% (981 of 1207) |#################    | Elapsed Time: 0:00:11 ETA:   0:00:02\n",
      " 82% (991 of 1207) |#################    | Elapsed Time: 0:00:12 ETA:   0:00:02\n",
      " 82% (1001 of 1207) |################    | Elapsed Time: 0:00:12 ETA:   0:00:02\n",
      " 83% (1011 of 1207) |################    | Elapsed Time: 0:00:12 ETA:   0:00:02\n",
      " 84% (1021 of 1207) |################    | Elapsed Time: 0:00:12 ETA:   0:00:02\n",
      " 85% (1031 of 1207) |#################   | Elapsed Time: 0:00:12 ETA:   0:00:02\n",
      " 86% (1041 of 1207) |#################   | Elapsed Time: 0:00:12 ETA:   0:00:02\n",
      " 87% (1051 of 1207) |#################   | Elapsed Time: 0:00:12 ETA:   0:00:01\n",
      " 87% (1061 of 1207) |#################   | Elapsed Time: 0:00:12 ETA:   0:00:01\n",
      " 88% (1071 of 1207) |#################   | Elapsed Time: 0:00:13 ETA:   0:00:01\n",
      " 89% (1081 of 1207) |#################   | Elapsed Time: 0:00:13 ETA:   0:00:01\n",
      " 90% (1091 of 1207) |##################  | Elapsed Time: 0:00:13 ETA:   0:00:01\n",
      " 91% (1101 of 1207) |##################  | Elapsed Time: 0:00:13 ETA:   0:00:01\n",
      " 92% (1121 of 1207) |##################  | Elapsed Time: 0:00:13 ETA:   0:00:01\n",
      " 93% (1131 of 1207) |##################  | Elapsed Time: 0:00:13 ETA:   0:00:00\n",
      " 95% (1151 of 1207) |################### | Elapsed Time: 0:00:14 ETA:   0:00:00\n",
      " 97% (1171 of 1207) |################### | Elapsed Time: 0:00:14 ETA:   0:00:00\n",
      " 97% (1181 of 1207) |################### | Elapsed Time: 0:00:14 ETA:   0:00:00\n",
      " 98% (1191 of 1207) |################### | Elapsed Time: 0:00:14 ETA:   0:00:00\n",
      " 99% (1201 of 1207) |################### | Elapsed Time: 0:00:14 ETA:   0:00:00\n",
      "100% (1207 of 1207) |####################| Elapsed Time: 0:00:14 ETA:  00:00:00\n",
      "100% (1207 of 1207) |####################| Elapsed Time: 0:00:14 Time:  0:00:14\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Finished backtest: 0:00:16\n"
     ]
    }
   ],
   "source": [
    "pybroker.register_columns('huanshou')\n",
    "config = StrategyConfig(max_long_positions=5)\n",
    "strategy = Strategy(pyb_data_huan, '2018-02-22', '2023-02-10', config)\n",
    "strategy.add_execution(buy_highest_huan, pyb_data_huan.symbol.unique())\n",
    "result = strategy.backtest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>trade_count</td>\n",
       "      <td>230.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>initial_market_value</td>\n",
       "      <td>100000.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>end_market_value</td>\n",
       "      <td>285895.29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>total_pnl</td>\n",
       "      <td>162355.04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>unrealized_pnl</td>\n",
       "      <td>23540.25</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   name      value\n",
       "0           trade_count     230.00\n",
       "1  initial_market_value  100000.00\n",
       "2      end_market_value  285895.29\n",
       "3             total_pnl  162355.04\n",
       "4        unrealized_pnl   23540.25"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.metrics_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "28.50607"
      ]
     },
     "execution_count": 129,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "2850607/100000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 202,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='date'>"
      ]
     },
     "execution_count": 202,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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X19f6t27N506dUo8PnXqVLF0tWfPHnr88cfFbX5McujQIbr99tspKCiIxo0bR9nZ2Vb5ugCg/iC4AQCblZ6eTg8++CC99NJLdODAARHosIqKCpowYYIITi5dukQDBgygmTNnimMffvghZWZm0h133EGLFi0St/kxlpWVRffcc494S0hIoJycHHrhhRes+jUCgOW518PnBACwiC1btlCLFi3ob3/7m7j/73//m0aNGiVuHz16lEJCQkSQwkHL2bNnxeM+Pj7izd3dXWR1goOD5c+3adMm8vDwoNdee01kdDggeuSRR6z01QFAfUFwAwA2KzU1lZo2bSrfb9mypXjv6uoqsjHLli2juLg4io2NpfLy8mo/37Vr1+jGjRsiKJIyQLm5uVRUVISdlAEcCIIbALBZERERlJKSIt+/evWqeL97925aunQpnT59Wjzn559/psOHD6s+lgOgyspK1WMxMTHUo0cP+uqrr8R9Ps41N5zNAQDHgZobALBZd999N505c4a++OILunjxoliWYpxtYbwcxYXFzz//vEEgw1menTt3iuzP9u3bRWaHl7Q4QDp48KBYutqwYQONGDHC4GMBwL4huAEAm8WZltWrV9Prr79Od955pygSZhyQ8Fv37t1FJxTX5HCGhwuQJXPmzBEBUbNmzcRzeAmK629++OEH+uCDD8Ry1vr168V9rs8BAMfhUok/WQAAAMCBIHMDAAAADgXBDQAAADgUBDcAAADgUBDcAAAAgENBcAMAAAAOBcENAAAAOBQENwAAAOBQENwAAACAQ0FwAwAAAA4FwQ0AAAA4FAQ3AAAAQI7k/wHW/wqHi1BKTQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "result.portfolio.equity.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>交易日期</th>\n",
       "      <th>股票代码</th>\n",
       "      <th>开盘价</th>\n",
       "      <th>收盘价</th>\n",
       "      <th>换手率(%)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>280036</th>\n",
       "      <td>2020-08-18</td>\n",
       "      <td>300216.SZ</td>\n",
       "      <td>7.1717</td>\n",
       "      <td>7.1717</td>\n",
       "      <td>0.0001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>280040</th>\n",
       "      <td>2020-08-24</td>\n",
       "      <td>300216.SZ</td>\n",
       "      <td>4.7098</td>\n",
       "      <td>4.7098</td>\n",
       "      <td>0.0001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>280029</th>\n",
       "      <td>2020-08-07</td>\n",
       "      <td>300216.SZ</td>\n",
       "      <td>14.8786</td>\n",
       "      <td>14.8786</td>\n",
       "      <td>0.0001</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             交易日期       股票代码      开盘价      收盘价  换手率(%)\n",
       "280036 2020-08-18  300216.SZ   7.1717   7.1717  0.0001\n",
       "280040 2020-08-24  300216.SZ   4.7098   4.7098  0.0001\n",
       "280029 2020-08-07  300216.SZ  14.8786  14.8786  0.0001"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0.sort_values(by=\"换手率(%)\")[[\"交易日期\",\"股票代码\",\"开盘价\",\"收盘价\",\"换手率(%)\"]].head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "#stock_daily0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "def buy_highest_huan(ctx):\n",
    "    # If there are no long positions across all tickers being traded:\n",
    "    if not tuple(ctx.long_positions()):\n",
    "        ctx.buy_limit_price = ctx.close[-1] * 1.095\n",
    "        ctx.buy_shares = ctx.calc_target_shares(0.2)\n",
    "        ctx.hold_bars = 25\n",
    "        ctx.score = -ctx.huanshou[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def print_rank(ctxs: dict[str, ExecContext]) -> bool:\n",
    "    dt = tuple(ctxs.values())[0].dt\n",
    "    print(dt)\n",
    "    symbols = []\n",
    "    scores = []\n",
    "    for ctx in ctxs.values():\n",
    "        symbols.append(ctx.symbol)\n",
    "        scores.append(ctx.score)\n",
    "    \n",
    "    v_rank = pd.DataFrame({\"symbol\": symbols, \"score\": scores}).sort_values(by=\"score\", ascending=False)\n",
    "    print(v_rank.head(7))\n",
    "\n",
    "    return False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backtesting: 2018-02-22 00:00:00 to 2018-02-24 00:00:00\n",
      "\n",
      "Test split: 2018-02-22 00:00:00 to 2018-02-23 00:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0% (0 of 2) |                          | Elapsed Time: 0:00:00 ETA:  --:--:--\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-02-22 00:00:00\n",
      "        symbol   score\n",
      "152  300174.SZ -0.0392\n",
      "96   300110.SZ -0.0931\n",
      "301  300342.SZ -0.1054\n",
      "94   300108.SZ -0.1247\n",
      "336  300381.SZ -0.1263\n",
      "264  300301.SZ -0.1266\n",
      "214  300243.SZ -0.1336\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 50% (1 of 2) |#############             | Elapsed Time: 0:00:01 ETA:   0:00:01\n",
      "100% (2 of 2) |##########################| Elapsed Time: 0:00:01 ETA:  00:00:00\n",
      "100% (2 of 2) |##########################| Elapsed Time: 0:00:01 Time:  0:00:01\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-02-23 00:00:00\n",
      "      symbol score\n",
      "0  300001.SZ  None\n",
      "1  300002.SZ  None\n",
      "2  300003.SZ  None\n",
      "3  300005.SZ  None\n",
      "4  300006.SZ  None\n",
      "5  300007.SZ  None\n",
      "6  300008.SZ  None\n",
      "\n",
      "Finished backtest: 0:00:02\n"
     ]
    }
   ],
   "source": [
    "pybroker.register_columns('huanshou')\n",
    "config = StrategyConfig(max_long_positions=5)\n",
    "strategy = Strategy(pyb_data_huan, '2018-02-22', '2018-02-24', config)\n",
    "strategy.add_execution(buy_highest_huan, pyb_data_huan.symbol.unique())\n",
    "strategy.set_after_exec(print_rank)\n",
    "result = strategy.backtest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>type</th>\n",
       "      <th>symbol</th>\n",
       "      <th>date</th>\n",
       "      <th>shares</th>\n",
       "      <th>limit_price</th>\n",
       "      <th>fill_price</th>\n",
       "      <th>fees</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>buy</td>\n",
       "      <td>300174.SZ</td>\n",
       "      <td>2018-02-23</td>\n",
       "      <td>184</td>\n",
       "      <td>118.65</td>\n",
       "      <td>107.01</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>buy</td>\n",
       "      <td>300110.SZ</td>\n",
       "      <td>2018-02-23</td>\n",
       "      <td>460</td>\n",
       "      <td>47.60</td>\n",
       "      <td>39.14</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>buy</td>\n",
       "      <td>300342.SZ</td>\n",
       "      <td>2018-02-23</td>\n",
       "      <td>362</td>\n",
       "      <td>60.47</td>\n",
       "      <td>55.52</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>buy</td>\n",
       "      <td>300108.SZ</td>\n",
       "      <td>2018-02-23</td>\n",
       "      <td>397</td>\n",
       "      <td>55.14</td>\n",
       "      <td>50.63</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>buy</td>\n",
       "      <td>300381.SZ</td>\n",
       "      <td>2018-02-23</td>\n",
       "      <td>310</td>\n",
       "      <td>70.63</td>\n",
       "      <td>64.47</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   type     symbol       date  shares  limit_price  fill_price  fees\n",
       "id                                                                  \n",
       "1   buy  300174.SZ 2018-02-23     184       118.65      107.01   0.0\n",
       "2   buy  300110.SZ 2018-02-23     460        47.60       39.14   0.0\n",
       "3   buy  300342.SZ 2018-02-23     362        60.47       55.52   0.0\n",
       "4   buy  300108.SZ 2018-02-23     397        55.14       50.63   0.0\n",
       "5   buy  300381.SZ 2018-02-23     310        70.63       64.47   0.0"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.orders.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>trade_count</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>initial_market_value</td>\n",
       "      <td>100000.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>end_market_value</td>\n",
       "      <td>99715.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>total_pnl</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>unrealized_pnl</td>\n",
       "      <td>-284.14</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   name      value\n",
       "0           trade_count       0.00\n",
       "1  initial_market_value  100000.00\n",
       "2      end_market_value   99715.86\n",
       "3             total_pnl       0.00\n",
       "4        unrealized_pnl    -284.14"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.metrics_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='date'>"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "index_time_scale=index_zh_a_hist_df[\"收盘\"]/index_zh_a_hist_df[\"收盘\"].iloc[0]\n",
    "index_time_scale.plot(figsize=(18,4))\n",
    "(result.portfolio.equity/100000).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 多因子策略\n",
    "\n",
    "1 选择多个因子， 先给每个因子单独排序， 序号加权求和\n",
    "\n",
    "* pandas 分组回顾\n",
    "\n",
    "* rank的用法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        index       交易日期       股票代码  股票简称       开盘价       最高价       最低价  \\\n",
      "844755      3 2018-01-02  300684.SZ  中石科技   15.3300   15.3300   15.3300   \n",
      "902773      1 2018-01-02  300735.SZ  光弘科技   15.8300   15.8300   15.8300   \n",
      "774772    195 2018-01-02  300626.SZ  华瑞股份   28.8000   28.8600   28.1000   \n",
      "710444    263 2018-01-02  300572.SZ  安车检测   64.1507   64.7680   62.9970   \n",
      "560223    653 2018-01-02  300448.SZ  浩云科技   54.3084   55.5358   54.3084   \n",
      "...       ...        ...        ...   ...       ...       ...       ...   \n",
      "449484   1156 2018-01-02  300355.SZ  蒙草生态  123.0629  124.9245  120.5154   \n",
      "54093    1793 2018-01-02  300027.SZ  华谊兄弟  133.6618  136.0701  132.0060   \n",
      "92211    1830 2018-01-02  300059.SZ  东方财富  348.4208  351.6345  344.4037   \n",
      "126306   1407 2018-01-02  300088.SZ  长信科技  127.4941  129.7708  123.2660   \n",
      "41864    1935 2018-01-02  300017.SZ  网宿科技  246.7998  254.4832  242.6089   \n",
      "\n",
      "             收盘价     成交量(手)     成交额(千元)  ...  市盈率(动态)     市净率      市销率  \\\n",
      "844755   15.3300      41.27      63.266  ...    33.61  2.6551   6.7116   \n",
      "902773   15.8300     194.18     307.386  ...    29.91  3.5625   4.5759   \n",
      "774772   28.3700    1101.00    3125.683  ...    50.51  6.0339   4.1261   \n",
      "710444   64.2215    1225.56    7717.646  ...    52.89  7.7419  13.4135   \n",
      "560223   54.8846    1484.92    3243.252  ...   243.91  4.6594   8.7796   \n",
      "...          ...        ...         ...  ...      ...     ...      ...   \n",
      "449484  124.8265  382096.58  479552.084  ...    21.35  5.8791   7.1449   \n",
      "54093   133.9628  416208.88  371274.165  ...    30.79  2.6088   7.0482   \n",
      "92211   348.1530  508378.14  660022.824  ...    91.38  4.2045  46.3439   \n",
      "126306  128.9577  644336.46  502355.260  ...    29.89  4.2822   2.1343   \n",
      "41864   249.8266  738318.62  788649.492  ...    33.88  3.3491   5.8184   \n",
      "\n",
      "        市销率(TTM)  股息率(%)  股息率(TTM)(%)      总股本(万股)     流通股本(万股)       总市值(万元)  \\\n",
      "844755    6.7116     NaN          NaN    8687.0000    2172.0000  1.331717e+05   \n",
      "902773    4.5683     NaN          NaN   35468.0000    8868.0000  5.614584e+05   \n",
      "774772    3.4895     NaN          NaN   10000.0000    2500.0000  2.837000e+05   \n",
      "710444   11.0349  0.7811       0.7811    6725.4000    3088.5800  4.267939e+05   \n",
      "560223    9.1960  0.3679       0.3679   21837.0659    8105.7097  4.784501e+05   \n",
      "...          ...     ...          ...          ...          ...           ...   \n",
      "449484    3.6567  0.2943       0.2943  160424.2081  115846.3360  2.043804e+06   \n",
      "54093     6.5479  0.3384       0.3384  277450.5919  192038.1277  2.469310e+06   \n",
      "92211    53.8786  0.2553       0.2553  428877.9718  318819.6076  5.575414e+06   \n",
      "126306    1.4728  0.3153       0.3153  229887.9814  225677.3966  1.823012e+06   \n",
      "41864     5.1523  0.7745       0.7745  241114.9148  159121.5164  2.587163e+06   \n",
      "\n",
      "            流通市值(万元)  \n",
      "844755  3.329676e+04  \n",
      "902773  1.403804e+05  \n",
      "774772  7.092500e+04  \n",
      "710444  1.960013e+05  \n",
      "560223  1.775961e+05  \n",
      "...              ...  \n",
      "449484  1.475882e+06  \n",
      "54093   1.709139e+06  \n",
      "92211   4.144655e+06  \n",
      "126306  1.789622e+06  \n",
      "41864   1.707374e+06  \n",
      "\n",
      "[663 rows x 24 columns]\n"
     ]
    }
   ],
   "source": [
    "for i in stock_daily0.groupby(\"交易日期\"):\n",
    "    print(i[1].sort_values(by=\"成交量(手)\"))\n",
    "    break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     A      B  C    D\n",
      "0  foo    one  1  2.0\n",
      "1  bar    one  5  5.0\n",
      "2  foo    two  5  8.0\n",
      "3  bar  three  2  1.0\n",
      "4  foo    two  5  2.0\n",
      "5  bar    two  5  9.0\n",
      "6  foo    one  6  4.0\n",
      "7  foo  three  7  6.0\n",
      "A     \n",
      "bar  1    2\n",
      "     3   -1\n",
      "     5    2\n",
      "foo  0   -4\n",
      "     2    0\n",
      "     4    0\n",
      "     6    1\n",
      "     7    2\n",
      "Name: C, dtype: int64\n",
      "0   -4\n",
      "1    2\n",
      "2    0\n",
      "3   -1\n",
      "4    0\n",
      "5    2\n",
      "6    1\n",
      "7    2\n",
      "Name: C, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "#group_keys的作用\n",
    "df = pd.DataFrame({\n",
    "    'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],\n",
    "    'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],\n",
    "    'C': [1, 5, 5, 2, 5, 5, 6, 7],\n",
    "    'D': [2.0, 5., 8., 1., 2., 9., 4., 6.]\n",
    "})\n",
    "\n",
    "# 自定义函数，用于计算每个分组的平均C列和D列的和\n",
    "def custom_func(x):\n",
    "    return x-len(x)\n",
    "\n",
    "print(df) \n",
    "# 使用groupby应用自定义函数\n",
    "grouped = df.groupby('A')[\"C\"].apply(custom_func)\n",
    "print(grouped)\n",
    "grouped = df.groupby('A', group_keys=False)[\"C\"].apply(custom_func)\n",
    "print(grouped)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0          115.0\n",
       "1          152.0\n",
       "2          119.0\n",
       "3          108.0\n",
       "4           90.0\n",
       "           ...  \n",
       "1132744      NaN\n",
       "1132745      NaN\n",
       "1132746      NaN\n",
       "1132747      NaN\n",
       "1132748      NaN\n",
       "Name: 市盈率(静态), Length: 1132749, dtype: float64"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0.groupby(\"交易日期\")[\"市盈率(静态)\"].rank()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['index', '交易日期', '股票代码', '股票简称', '开盘价', '最高价', '最低价', '收盘价', '成交量(手)',\n",
       "       '成交额(千元)', '换手率(%)', '量比', '市盈率(静态)', '市盈率(TTM)', '市盈率(动态)', '市净率',\n",
       "       '市销率', '市销率(TTM)', '股息率(%)', '股息率(TTM)(%)', '总股本(万股)', '流通股本(万股)',\n",
       "       '总市值(万元)', '流通市值(万元)'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0          646.0\n",
       "1          610.0\n",
       "2          644.0\n",
       "3          657.0\n",
       "4          676.0\n",
       "           ...  \n",
       "1132744      NaN\n",
       "1132745      NaN\n",
       "1132746      NaN\n",
       "1132747      NaN\n",
       "1132748      NaN\n",
       "Name: 市盈率(静态), Length: 1132749, dtype: float64"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0.groupby(\"交易日期\")[\"市盈率(静态)\"].rank(ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [],
   "source": [
    "stock_daily0[\"pe_rank\"]=stock_daily0.groupby(\"交易日期\")[\"市盈率(静态)\"].rank(ascending=False)\n",
    "stock_daily0[\"hs_rank\"]=stock_daily0.groupby(\"交易日期\")[\"换手率(%)\"].rank()\n",
    "stock_daily0[\"sz_rank\"]=stock_daily0.groupby(\"交易日期\")[\"总市值(万元)\"].rank()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [],
   "source": [
    "#stock_daily0.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['003001.SZ', '003002.SZ', '003003.SZ', ..., '301398.SZ',\n",
       "       '301419.SZ', '430047.BJ'], dtype=object)"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pyb_data_huan.symbol.unique()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>交易日期</th>\n",
       "      <th>股票代码</th>\n",
       "      <th>开盘价</th>\n",
       "      <th>收盘价</th>\n",
       "      <th>市盈率(静态)</th>\n",
       "      <th>pe_rank</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>837457</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300677.SZ</td>\n",
       "      <td>151.1040</td>\n",
       "      <td>152.4829</td>\n",
       "      <td>2.3559</td>\n",
       "      <td>1103.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>211215</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300158.SZ</td>\n",
       "      <td>40.7969</td>\n",
       "      <td>40.5614</td>\n",
       "      <td>2.7047</td>\n",
       "      <td>1102.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1059739</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300981.SZ</td>\n",
       "      <td>40.5587</td>\n",
       "      <td>41.5137</td>\n",
       "      <td>2.7286</td>\n",
       "      <td>1101.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>792099</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300639.SZ</td>\n",
       "      <td>83.9986</td>\n",
       "      <td>83.7654</td>\n",
       "      <td>9.2632</td>\n",
       "      <td>1100.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>901533</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300732.SZ</td>\n",
       "      <td>45.1845</td>\n",
       "      <td>45.4174</td>\n",
       "      <td>9.8451</td>\n",
       "      <td>1099.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>358765</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300280.SZ</td>\n",
       "      <td>18.8467</td>\n",
       "      <td>19.2859</td>\n",
       "      <td>9.8604</td>\n",
       "      <td>1098.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>333048</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300259.SZ</td>\n",
       "      <td>55.5570</td>\n",
       "      <td>55.5570</td>\n",
       "      <td>10.4133</td>\n",
       "      <td>1097.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1004826</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300867.SZ</td>\n",
       "      <td>18.7662</td>\n",
       "      <td>18.8877</td>\n",
       "      <td>10.7535</td>\n",
       "      <td>1096.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>256633</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300196.SZ</td>\n",
       "      <td>54.5076</td>\n",
       "      <td>54.2606</td>\n",
       "      <td>10.9817</td>\n",
       "      <td>1095.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>725245</th>\n",
       "      <td>2023-02-10</td>\n",
       "      <td>300584.SZ</td>\n",
       "      <td>44.4498</td>\n",
       "      <td>43.5868</td>\n",
       "      <td>11.6609</td>\n",
       "      <td>1094.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              交易日期       股票代码       开盘价       收盘价  市盈率(静态)  pe_rank\n",
       "837457  2023-02-10  300677.SZ  151.1040  152.4829   2.3559   1103.0\n",
       "211215  2023-02-10  300158.SZ   40.7969   40.5614   2.7047   1102.0\n",
       "1059739 2023-02-10  300981.SZ   40.5587   41.5137   2.7286   1101.0\n",
       "792099  2023-02-10  300639.SZ   83.9986   83.7654   9.2632   1100.0\n",
       "901533  2023-02-10  300732.SZ   45.1845   45.4174   9.8451   1099.0\n",
       "358765  2023-02-10  300280.SZ   18.8467   19.2859   9.8604   1098.0\n",
       "333048  2023-02-10  300259.SZ   55.5570   55.5570  10.4133   1097.0\n",
       "1004826 2023-02-10  300867.SZ   18.7662   18.8877  10.7535   1096.0\n",
       "256633  2023-02-10  300196.SZ   54.5076   54.2606  10.9817   1095.0\n",
       "725245  2023-02-10  300584.SZ   44.4498   43.5868  11.6609   1094.0"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0[stock_daily0[\"交易日期\"]==\"2023-02-10\"].sort_values(by=\"市盈率(静态)\")[[\"交易日期\",\"股票代码\",\"开盘价\",\"收盘价\",\"市盈率(静态)\",\"pe_rank\"]].head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [],
   "source": [
    "stock_daily0[\"muti_factor_rank\"]=stock_daily0[\"pe_rank\"]*1+stock_daily0[\"hs_rank\"]*0.3+stock_daily0[\"sz_rank\"]*0.9"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [],
   "source": [
    "#stock_daily0[\"muti_factor_rank\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "pyb_data_huan=stock_daily0[[\"交易日期\",\"股票代码\",\"开盘价\",\"最高价\",\"最低价\",\"收盘价\",\"成交量(手)\",\"muti_factor_rank\"]]\n",
    "pyb_data_huan.columns=[\"date\",\"symbol\",\"open\",\"high\",\"low\",\"close\",\"volume\",\"huanshou\",]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "def buy_highest_huan(ctx):\n",
    "    # If there are no long positions across all tickers being traded:\n",
    "    if not tuple(ctx.long_positions()):\n",
    "        ctx.buy_limit_price = ctx.close[-1] * 1.095\n",
    "        ctx.buy_shares = ctx.calc_target_shares(0.1)\n",
    "        ctx.hold_bars = 25\n",
    "        ctx.score = -ctx.huanshou[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backtesting: 2018-02-22 00:00:00 to 2023-02-24 00:00:00\n",
      "\n",
      "Test split: 2018-02-22 00:00:00 to 2023-02-17 00:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0% (0 of 1212) |                       | Elapsed Time: 0:00:00 ETA:  --:--:--\n",
      "  0% (1 of 1212) |                       | Elapsed Time: 0:00:01 ETA:   0:31:04\n",
      "  0% (11 of 1212) |                      | Elapsed Time: 0:00:02 ETA:   0:04:39\n",
      "  1% (21 of 1212) |                      | Elapsed Time: 0:00:02 ETA:   0:02:30\n",
      "  2% (31 of 1212) |                      | Elapsed Time: 0:00:02 ETA:   0:01:50\n",
      "  4% (51 of 1212) |                      | Elapsed Time: 0:00:03 ETA:   0:01:09\n",
      "  5% (61 of 1212) |#                     | Elapsed Time: 0:00:03 ETA:   0:01:01\n",
      "  5% (71 of 1212) |#                     | Elapsed Time: 0:00:03 ETA:   0:00:54\n",
      "  6% (81 of 1212) |#                     | Elapsed Time: 0:00:03 ETA:   0:00:49\n",
      "  8% (101 of 1212) |#                    | Elapsed Time: 0:00:03 ETA:   0:00:41\n",
      "  9% (111 of 1212) |#                    | Elapsed Time: 0:00:03 ETA:   0:00:39\n",
      "  9% (121 of 1212) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:36\n",
      " 10% (131 of 1212) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:34\n",
      " 11% (141 of 1212) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:33\n",
      " 13% (161 of 1212) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:29\n",
      " 14% (171 of 1212) |##                   | Elapsed Time: 0:00:04 ETA:   0:00:28\n",
      " 15% (191 of 1212) |###                  | Elapsed Time: 0:00:04 ETA:   0:00:26\n",
      " 16% (201 of 1212) |###                  | Elapsed Time: 0:00:05 ETA:   0:00:25\n",
      " 17% (211 of 1212) |###                  | Elapsed Time: 0:00:05 ETA:   0:00:24\n",
      " 18% (221 of 1212) |###                  | Elapsed Time: 0:00:05 ETA:   0:00:23\n",
      " 19% (231 of 1212) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:22\n",
      " 19% (241 of 1212) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:22\n",
      " 20% (251 of 1212) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:21\n",
      " 21% (261 of 1212) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:21\n",
      " 22% (271 of 1212) |####                 | Elapsed Time: 0:00:05 ETA:   0:00:20\n",
      " 23% (281 of 1212) |####                 | Elapsed Time: 0:00:06 ETA:   0:00:19\n",
      " 24% (291 of 1212) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:19\n",
      " 24% (301 of 1212) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:19\n",
      " 25% (311 of 1212) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:18\n",
      " 26% (321 of 1212) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:18\n",
      " 27% (331 of 1212) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:17\n",
      " 28% (341 of 1212) |#####                | Elapsed Time: 0:00:06 ETA:   0:00:17\n",
      " 29% (361 of 1212) |######               | Elapsed Time: 0:00:07 ETA:   0:00:16\n",
      " 30% (371 of 1212) |######               | Elapsed Time: 0:00:07 ETA:   0:00:16\n",
      " 32% (391 of 1212) |######               | Elapsed Time: 0:00:07 ETA:   0:00:15\n",
      " 33% (401 of 1212) |######               | Elapsed Time: 0:00:07 ETA:   0:00:15\n",
      " 34% (421 of 1212) |#######              | Elapsed Time: 0:00:07 ETA:   0:00:14\n",
      " 35% (431 of 1212) |#######              | Elapsed Time: 0:00:07 ETA:   0:00:14\n",
      " 37% (451 of 1212) |#######              | Elapsed Time: 0:00:08 ETA:   0:00:13\n",
      " 38% (461 of 1212) |#######              | Elapsed Time: 0:00:08 ETA:   0:00:13\n",
      " 38% (471 of 1212) |########             | Elapsed Time: 0:00:08 ETA:   0:00:13\n",
      " 39% (481 of 1212) |########             | Elapsed Time: 0:00:08 ETA:   0:00:13\n",
      " 40% (491 of 1212) |########             | Elapsed Time: 0:00:08 ETA:   0:00:12\n",
      " 41% (501 of 1212) |########             | Elapsed Time: 0:00:08 ETA:   0:00:12\n",
      " 42% (511 of 1212) |########             | Elapsed Time: 0:00:08 ETA:   0:00:12\n",
      " 42% (521 of 1212) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:12\n",
      " 43% (531 of 1212) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:11\n",
      " 44% (541 of 1212) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:11\n",
      " 45% (551 of 1212) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:11\n",
      " 46% (561 of 1212) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:11\n",
      " 47% (571 of 1212) |#########            | Elapsed Time: 0:00:09 ETA:   0:00:10\n",
      " 47% (581 of 1212) |##########           | Elapsed Time: 0:00:09 ETA:   0:00:10\n",
      " 48% (591 of 1212) |##########           | Elapsed Time: 0:00:10 ETA:   0:00:10\n",
      " 49% (601 of 1212) |##########           | Elapsed Time: 0:00:10 ETA:   0:00:10\n",
      " 51% (621 of 1212) |##########           | Elapsed Time: 0:00:10 ETA:   0:00:09\n",
      " 52% (631 of 1212) |##########           | Elapsed Time: 0:00:10 ETA:   0:00:09\n",
      " 53% (651 of 1212) |###########          | Elapsed Time: 0:00:11 ETA:   0:00:09\n",
      " 54% (661 of 1212) |###########          | Elapsed Time: 0:00:11 ETA:   0:00:09\n",
      " 55% (671 of 1212) |###########          | Elapsed Time: 0:00:11 ETA:   0:00:09\n",
      " 56% (681 of 1212) |###########          | Elapsed Time: 0:00:11 ETA:   0:00:09\n",
      " 57% (691 of 1212) |###########          | Elapsed Time: 0:00:11 ETA:   0:00:08\n",
      " 57% (701 of 1212) |############         | Elapsed Time: 0:00:11 ETA:   0:00:08\n",
      " 58% (711 of 1212) |############         | Elapsed Time: 0:00:12 ETA:   0:00:08\n",
      " 59% (721 of 1212) |############         | Elapsed Time: 0:00:12 ETA:   0:00:08\n",
      " 60% (731 of 1212) |############         | Elapsed Time: 0:00:12 ETA:   0:00:08\n",
      " 61% (741 of 1212) |############         | Elapsed Time: 0:00:12 ETA:   0:00:07\n",
      " 61% (751 of 1212) |#############        | Elapsed Time: 0:00:12 ETA:   0:00:07\n",
      " 62% (761 of 1212) |#############        | Elapsed Time: 0:00:12 ETA:   0:00:07\n",
      " 63% (771 of 1212) |#############        | Elapsed Time: 0:00:13 ETA:   0:00:07\n",
      " 64% (781 of 1212) |#############        | Elapsed Time: 0:00:13 ETA:   0:00:07\n",
      " 65% (791 of 1212) |#############        | Elapsed Time: 0:00:13 ETA:   0:00:07\n",
      " 66% (801 of 1212) |#############        | Elapsed Time: 0:00:13 ETA:   0:00:06\n",
      " 66% (811 of 1212) |##############       | Elapsed Time: 0:00:13 ETA:   0:00:06\n",
      " 67% (821 of 1212) |##############       | Elapsed Time: 0:00:13 ETA:   0:00:06\n",
      " 68% (831 of 1212) |##############       | Elapsed Time: 0:00:13 ETA:   0:00:06\n",
      " 69% (841 of 1212) |##############       | Elapsed Time: 0:00:14 ETA:   0:00:06\n",
      " 70% (851 of 1212) |##############       | Elapsed Time: 0:00:14 ETA:   0:00:06\n",
      " 71% (861 of 1212) |##############       | Elapsed Time: 0:00:14 ETA:   0:00:06\n",
      " 71% (871 of 1212) |###############      | Elapsed Time: 0:00:14 ETA:   0:00:05\n",
      " 72% (881 of 1212) |###############      | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 73% (891 of 1212) |###############      | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 74% (901 of 1212) |###############      | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 75% (911 of 1212) |###############      | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 75% (921 of 1212) |###############      | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 76% (931 of 1212) |################     | Elapsed Time: 0:00:16 ETA:   0:00:04\n",
      " 77% (941 of 1212) |################     | Elapsed Time: 0:00:16 ETA:   0:00:04\n",
      " 78% (951 of 1212) |################     | Elapsed Time: 0:00:16 ETA:   0:00:04\n",
      " 79% (961 of 1212) |################     | Elapsed Time: 0:00:16 ETA:   0:00:04\n",
      " 80% (971 of 1212) |################     | Elapsed Time: 0:00:16 ETA:   0:00:04\n",
      " 80% (981 of 1212) |################     | Elapsed Time: 0:00:17 ETA:   0:00:04\n",
      " 81% (991 of 1212) |#################    | Elapsed Time: 0:00:17 ETA:   0:00:03\n",
      " 82% (1001 of 1212) |################    | Elapsed Time: 0:00:17 ETA:   0:00:03\n",
      " 83% (1011 of 1212) |################    | Elapsed Time: 0:00:17 ETA:   0:00:03\n",
      " 84% (1021 of 1212) |################    | Elapsed Time: 0:00:17 ETA:   0:00:03\n",
      " 85% (1031 of 1212) |#################   | Elapsed Time: 0:00:18 ETA:   0:00:03\n",
      " 85% (1041 of 1212) |#################   | Elapsed Time: 0:00:18 ETA:   0:00:02\n",
      " 86% (1051 of 1212) |#################   | Elapsed Time: 0:00:18 ETA:   0:00:02\n",
      " 87% (1061 of 1212) |#################   | Elapsed Time: 0:00:18 ETA:   0:00:02\n",
      " 88% (1071 of 1212) |#################   | Elapsed Time: 0:00:18 ETA:   0:00:02\n",
      " 89% (1081 of 1212) |#################   | Elapsed Time: 0:00:18 ETA:   0:00:02\n",
      " 90% (1091 of 1212) |##################  | Elapsed Time: 0:00:19 ETA:   0:00:02\n",
      " 90% (1101 of 1212) |##################  | Elapsed Time: 0:00:19 ETA:   0:00:01\n",
      " 91% (1111 of 1212) |##################  | Elapsed Time: 0:00:19 ETA:   0:00:01\n",
      " 92% (1121 of 1212) |##################  | Elapsed Time: 0:00:19 ETA:   0:00:01\n",
      " 93% (1131 of 1212) |##################  | Elapsed Time: 0:00:19 ETA:   0:00:01\n",
      " 94% (1141 of 1212) |##################  | Elapsed Time: 0:00:20 ETA:   0:00:01\n",
      " 94% (1151 of 1212) |##################  | Elapsed Time: 0:00:20 ETA:   0:00:01\n",
      " 95% (1161 of 1212) |################### | Elapsed Time: 0:00:20 ETA:   0:00:00\n",
      " 96% (1171 of 1212) |################### | Elapsed Time: 0:00:20 ETA:   0:00:00\n",
      " 97% (1181 of 1212) |################### | Elapsed Time: 0:00:20 ETA:   0:00:00\n",
      " 98% (1191 of 1212) |################### | Elapsed Time: 0:00:21 ETA:   0:00:00\n",
      " 99% (1201 of 1212) |################### | Elapsed Time: 0:00:21 ETA:   0:00:00\n",
      " 99% (1211 of 1212) |################### | Elapsed Time: 0:00:21 ETA:   0:00:00\n",
      "100% (1212 of 1212) |####################| Elapsed Time: 0:00:21 Time:  0:00:21\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Finished backtest: 0:00:23\n"
     ]
    }
   ],
   "source": [
    "pybroker.register_columns('huanshou')\n",
    "config = StrategyConfig(max_long_positions=10)\n",
    "strategy = Strategy(pyb_data_huan, '2018-02-22', '2023-02-24', config)\n",
    "strategy.add_execution(buy_highest_huan, pyb_data_huan.symbol.unique())\n",
    "result = strategy.backtest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>trade_count</td>\n",
       "      <td>460.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>initial_market_value</td>\n",
       "      <td>100000.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>end_market_value</td>\n",
       "      <td>329087.05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>total_pnl</td>\n",
       "      <td>224226.82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>unrealized_pnl</td>\n",
       "      <td>4860.23</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   name      value\n",
       "0           trade_count     460.00\n",
       "1  initial_market_value  100000.00\n",
       "2      end_market_value  329087.05\n",
       "3             total_pnl  224226.82\n",
       "4        unrealized_pnl    4860.23"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.metrics_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='date'>"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABaUAAAFXCAYAAACyUSI+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAzYdJREFUeJzs3QV4U3cXBvC3Xqiixd3d3WHAGM6GDKawDRhzZb5vzgTmA7YxdAIbMmC4Q3F3LRQp0FIv9X7Puf/cJmlTT5u0fX/P0yc3fpOmSXruue9xSElJSQERERERERERERERUQFwLIg7ISIiIiIiIiIiIiISLEoTERERERERERERUYFhUZqIiIiIiIiIiIiICgyL0kRERERERERERERUYFiUJiIiIiIiIiIiIqICw6I0ERERERERERERERUYFqWJiIiIiIiIiIiIqMA4w84lJyfj+vXr8PLygoODg61Xh4iIiIiIiIiIiIgsSElJQWRkJCpVqgRHR8fCW5SWgnTVqlVtvRpERERERERERERElA2BgYGoUqVK4S1KS4e0/kC8vb1tvTpEREREREREREREZEFERITWYKzXdK1alA4LC8OZM2dQr149lCpVCvlJj+yQgjSL0kRERERERERERET2LasY5hwPOly8eDFq1KiBCRMmaC3YcjwrgwcP1lZE/+nTp09O75aIiIiIiIiIiIiIioAcdUqHh4dj8uTJ2LZtG5o1a4bffvsNr7zyCh544IFMr7d//34cO3YsNUfExcUlb2tNREREREREREREREW/KC2ZIDNmzNAK0qJVq1YICQnJ9DrXrl3Tpi42adIkb2tKRERERERERERERIVejuI7JKR67Nix2nJCQgKmT5+OYcOGZXqdvXv3IikpSeuS9vDwwOjRoxEaGprh5ePi4rTit+kPERERERERERERERUNOc6UFkeOHEGFChWwZs0afPPNN5le9vTp02jevDlWrVqF3bt349KlS5g6dWqGl//kk0/g4+OT+iOFcCIiIiIiIiIiIiIqGhxSJFsjh+QqBw8exAsvvIDy5ctjyZIl2b6u5FEPHz4cwcHBGXZKy49OOqWlMC151t7e3jldVSIiIiIiIiIiIiIqAFLLlUbjrGq5OcqU1jk4OKB169aYO3cuateujbCwMPj6+mbrulLElhxqKTy7ubmlO19Os3Q6ERERERERERERERWz+I6tW7filVdeST3u6uqqFagdHTO+mVGjRmHHjh2px/39/eHn58fCMxEREREREREREVExlKOidL169TBr1iztJzAwEG+88Qb69u2rtWJLa7YMP0yradOmWsyHFKaXLVum5UlPmjTJmo+BiIiIiIiIiIiIKP9JEvL1Q0Bykq3XpPgUpStWrKjlR3/99ddo3LgxYmJiMG/ePO28Zs2aacMM03rttde08/r3768VoydPnow333zTeo+AiIiIiIiIiIiIqCBs/xKY1QPY8mn68y5uBUIv22KtisegQ3sMxyYiIiIiIiIiIiI7c3gRcGghMGgGULYuCrXYcODTasbjL50BPMoBjk7AmTXA76MAn6rAC8dRXEVks5abo05pIiIiIiIiIiIiomxb/SpweQfwYycVfVGY7fvZ/PiX9YFtXwDhV1VBWoQH2mTVChtnW68AERERERERERERFUEH5wHxkWo5KR6IDgY8y6FQio8G/L9Pf/qWj4Ejv5ufJsV3B4cCW7XCiJ3SREREREREREREZF3XDwMrnjE/LeomCq1DC4CYEKBUDaD9JPPzQi+lL2BTpliUJiIiIiIiIiIiIus6+lf606KCUGgFbFeHbR5Pn43t7A5M2GQ8fvdOwa5bIcSiNBEREREREREREVlPchJw/G+17FsN8PRTy1G3UGjdMXRDl2uoHpOpwd8CVVoDnhXU8buhBb9+hQyL0kRERERERERERGQdl7YDy6eormh3X2DKAaB2L3VeZCHtlJaM6DsX1XKZ2kDZesbzXj4HNBuplkuWVocx7JTOCgcdEhERERERERERUc4lxALRt4ydw1K8nTvQeH7joYCzK+BZvnB3SksWdkIM4OAE+FRVj+nBxUDJMsbHJkqUUofslM4Si9JERERERERERESUc7+PBi5uBibuACo0BSKum5/f1NBBrMda6IMOk5OB9W8D7j5A1fZAcqI6dPM0v37QcWD/r0DrR4CKzWEzwefUoa+hIC3q9U1/udSiNDuls8KiNBEREREREREREeWcFKTFwfnAgGnA7VPmBdpqHdVyqerq8MpuICkBCDoG+H9nflv1+qsuZDms2weIug381FmdFxMCjJwLmzm+RB1Wbp355dgpnW3MlCYiIiIiIiIiIqLMBe4Flk4Czq4DEuPNc5OdXICwQGDBCMNxN2D8esDRUHqs0wfwKA9EXgcO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oStVqoS3334bdevWxTvvvINffvklb2tNRERERERERERE+ePyLuC7tsC5dYWjKE1FuyhdtWpVjB07VltOSEjA9OnTMWzYsEyvc+TIEfTs2RMODg7a8Xbt2uHAgQMZXj4uLk4rfpv+EBERERERERERUQGZPwwIPquWXUoCFZraeo2oiHHOzZWk0NyrVy+4urri1KlTmV5WisqNGjVKPe7t7Y3r169nePlPPvkE77//fm5Wi4iIiIiIiIiIiPIqMda4XLk14ORiy7WhIihXQSsS37Fu3TotjkMGHmbG2dkZbm5uqcfd3d0RExOT4eWnTp2qZVfrP4GBgblZRSIiIiIiIiIiIsqpxHjz4+ySJnvplJYojtatW2Pu3LmoXbs2wsLC4Ovra/GypUuX1oYd6iIjI7UO64xIAdu0iE1EREREREREREQFJOSc+fGKzW21JlSE5ahTeuvWrXjllVdSj0txWQrUjplMtmzbti38/f1Tjx86dAiVK1fO7foSERERERERERFRfom4YVzu9irQdKQt14aKqBwVpevVq4dZs2ZpPxKr8cYbb6Bv375aTrRkR8vww7QGDx6MnTt3YsOGDdr506ZNQ79+/az5GIiIiIiIiIiIiMga4sLVYfUuQK83gUyaUYlyK0evqooVK2LJkiX4+uuv0bhxYy0bet68eak506tWrUp3nbJly2L69OkYMGAA/Pz8cObMGbz11lu5XmEiIiIiIiIiIiLKJ7ER6tDd29ZrQkVYjjOl77nnHpw4cSLd6QEBARleZ+LEiVp39OnTp9G1a1d4enrmfE2JiIiIiIiIiIgof8UZitJuLEqTnQ06zI2aNWtqP0RERERERERERGSn2ClNBYChMERERERERERERKSwU5qKUqc0ERERERERERER2aE9M4G9s4GKzYHjS9Rp7JSmfMSiNBERERERERERUXF16xSw9k0gOQEIOWc8nZ3SlI8Y30FERERERERERFQcpaQAK19UBelaPYC6fY3nsVOa8hGL0kRERERERERERMXRnYvAlV2Akysw+Dug2SjjeW4+tlwzKuIY30FERERERERERFQchQaow9K1Ad+qQGyY8Tw3L5utFhV97JQmIiIiIiIiIiIqjsKuqEPfauqwTB3jeQ4sG1L+Yac0ERERERERERFRcZS2KO1SAmj3FHD7NFCppU1XjYo2FqWJiIiIiIiIiIiKo7RFaTFgms1Wh4oP9uETEREREREREREV56J0qeq2XhMqZliUJiIiIiIiIiIiKo4sdUoTFQAWpYmIiIiIiIiIiIqbhLtAVJBa9mWnNBUsFqWJiIiIiIiIiIiKm/Cr6tDVEyhRytZrQ8UMi9JERERERERERETFTdhlY3SHg4Ot14aKGRaliYiIiIiIiIiIihvmSZMNsShNRERERERERERU3ASfU4elath6TagYYlGaiIiIiKgw2DoN2DHd1mtBRERERcXlneqwSltbrwkVQ862XgEiIiIiIspCZBCw+SO13H4i4FLC1mtEREREhVlsOBB0TC1X72zrtaFiiJ3SRERERET2Li7KuJxw15ZrQkREREXBld1ASjJQuhbgXdHWa0PFEIvSRERERET2LiHGuBwfbcs1ISIioqIgYIc6ZJc02QiL0kRERERE9i4u0rjMTmkiIiKyVp50jS62XhMqpliUJiIiIiIqVEVpdkoTERFRHr9XXD+sltkpTTbCojQRERERkb2LizAux5tEeRARERHlVOAeICUJ8K0G+Fa19dpQMcWiNBERERFRYSpKM76DiIiI8iLAEN3BLmmyIRaliYiIiIjsHeM7iIiIyFoublaHNbraek2oGGNRmoiIiIjI3sUyvoOIiIisIDrEmCddu5et14aKMRaliYiIiIgKVac0i9JERESUS9f2A0gBytYHvCvaem2oGGNRmoiIiIjI3rEoTURERNYQc0cd+lS29ZpQMceiNBERERFRYSpKM76DiIiIcis2XB26+9h6TaiYY1GaiIiIiMje3Q01LrNTmogofyQnA9u+AC5tt/WaEOWf2DB16O5r6zWhYs7Z1itARERERESZSEoEgo4aj7MoTURkfQl3gXVvA/tmq+PvGbpJiYoadkqTnWBRmoiIiIjIngUdAeKjjMdZlCYisr4VzwDHFhuPJ8QCLu62XCOi/MGiNNkJxncQEREREdmzy7vMjzNTmohISUkBbhwFEuPydjvJSeYFaRFyPm+3SWSvWJSmwliUXr58OWrVqgVnZ2e0aNECp06dyvI6gwcPhoODQ+pPnz598rK+RERERETFS8BOdVi2njpkpzQRkXJyGTCzK7Dm9awvezcMmD8cOLwo/XnXDqY/LfisddaRyN7I34IowUxpKiRF6QsXLuCxxx7Dp59+imvXrqFevXqYMGFCltfbv38/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1rRp06al993CecgYyvkyOhjNmTOn7d+/391Wvnx527Bhg3vgeriKCoQWrfvt27fb5s2bLUuWLO62qKgou+GGGyw+Pt7tlAAQGlauXOm27HuZcorriouLc2+rY/qRRx6xFStWuAK1UKQCQmvtezEdmzZtsm3btln//v3dDomdO3dapkyZOM4HQvg1/+jRo65T0jvPz5Mnj3+XBGsfCM11X7RoUf/xfIECBdxOCe2O9rD2g09IFaXfffddu//++93bOhAVXTHVNv7XXnvNWrdubUuWLLEXXnjBbr75Zjty5AhXUYEQXPveQemhQ4fcRSnddvDgQfd+jhw50vvuAjhPe/futTZt2lidOnXs2muvtccff9zdXr16dfe6rkK06MLUyy+/bA8//HCCYwMAobH2H330Uf/F57Zt27qYvquuuspt4xdOToHQW/dPPvmku13RfDq/18Upvb4XLlzYnesL5/hAaB7r//vf/3av9ypM9+3b13VJq2NaO6SFtR98QqoorezY9957z3VK6cGoF6cuXbq4YpW28mobr4Yh6AGrjEll0QjDUIDQWfuSNWtW69y5s33yySeuIKUtfa+++qr9+eefFhsbm953F8B50oVmvc4vWrTIOnToYOPGjXNDTy6//HJXiPaGHcl1111nVatWdVt8hdd8IHTW/oQJE2zo0KHuYz169PB/juL7FOfBHAkg9Na91veIESPcLsgiRYr4u6N37dplVapU8XdRAwiddf/DDz/YF198YaVLl7b8+fO7j+m4f/r06e65QDE+XmQfx/rBJWOoXU3Rdl0VokUHoZGRke5BrAdup06dXIu/rrZ4OdPa6scwFCC01r5oEre6I/VCNn78eOvYsaPbOaHnAgDBS9v3tKbVNaE5EXfccYc1bdrU5s6d654HypUr54pRy5Yt83+NhqBMnjzZ9u3bx2s+EEJrXyekuuAc2B2lAeeaIeF1S9M1BYTWutfsiIULF/o/x9vKr9d4T+bMmf1vc2EKCI1jfQ009Na0Xts17LBhw4aue1qNaCpcqy7AsX5wCcr/rcWLF9srr7ziTjr1oBNN2lWenDqi58yZ466g6oGqqyTKoClYsGCCg9Jff/3VihUrZgcOHEjH3wRAaqx978VK3dIagqJuiv/85z8uY1K7JAAE77rXricdpF522WXu47rYrLWt5wHRLii97us54fDhw/4T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",
      "text/plain": [
       "<Figure size 1800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "index_close=index_zh_a_hist_df[\"收盘\"]\n",
    "index_time_scale=index_close/index_close.iloc[0]\n",
    "index_time_scale.plot(figsize=(18,4))\n",
    "cash_value=result.portfolio.equity/100000\n",
    "cash_value.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 因子轮动交易\n",
    "\n",
    "* set_before_exec"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['index', '交易日期', '股票代码', '股票简称', '开盘价', '最高价', '最低价', '收盘价', '成交量(手)',\n",
       "       '成交额(千元)', '换手率(%)', '量比', '市盈率(静态)', '市盈率(TTM)', '市盈率(动态)', '市净率',\n",
       "       '市销率', '市销率(TTM)', '股息率(%)', '股息率(TTM)(%)', '总股本(万股)', '流通股本(万股)',\n",
       "       '总市值(万元)', '流通市值(万元)', 'pe_rank', 'hs_rank', 'sz_rank',\n",
       "       'muti_factor_rank'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "pyb_data_ld=stock_daily0[[\"交易日期\",\"股票代码\",\"开盘价\",\"最高价\",\"最低价\",\"收盘价\",\"成交量(手)\",\"市盈率(静态)\"]]\n",
    "pyb_data_ld.columns=[\"date\",\"symbol\",\"open\",\"high\",\"low\",\"close\",\"volume\",\"lundong\",]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rand_ld(ctxs: dict[str, ExecContext]) -> bool:\n",
    "    dt = tuple(ctxs.values())[0].dt\n",
    "    symbols = []\n",
    "    lundong = []\n",
    "    for ctx in ctxs.values():\n",
    "        symbols.append(ctx.symbol)\n",
    "        lundong.append(ctx.lundong[-1])\n",
    "    \n",
    "    v_rank = pd.DataFrame({\"symbol\": symbols, \"lundong\": lundong}).sort_values(by=\"lundong\", ascending=False)\n",
    "    pybroker.param('symbols',v_rank.head(5).symbol.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [],
   "source": [
    "def lundong_fuc(ctx):\n",
    "    if ctx.long_pos():\n",
    "        if ctx.symbol not in pybroker.param('symbols'):\n",
    "            ctx.sell_all_shares()\n",
    "    else:\n",
    "        ctx.buy_limit_price = ctx.close[-1] * 1.095\n",
    "        ctx.buy_shares = ctx.calc_target_shares(0.1)\n",
    "        ctx.score = ctx.lundong[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backtesting: 2018-02-22 00:00:00 to 2019-04-01 00:00:00\n",
      "\n",
      "Test split: 2018-02-22 00:00:00 to 2019-04-01 00:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0% (0 of 270) |                        | Elapsed Time: 0:00:00 ETA:  --:--:--\n",
      "  0% (1 of 270) |                        | Elapsed Time: 0:00:01 ETA:   0:07:37\n",
      "  4% (11 of 270) |                       | Elapsed Time: 0:00:03 ETA:   0:01:30\n",
      "  7% (21 of 270) |#                      | Elapsed Time: 0:00:04 ETA:   0:00:56\n",
      " 11% (31 of 270) |##                     | Elapsed Time: 0:00:05 ETA:   0:00:42\n",
      " 15% (41 of 270) |###                    | Elapsed Time: 0:00:06 ETA:   0:00:35\n",
      " 18% (51 of 270) |####                   | Elapsed Time: 0:00:07 ETA:   0:00:31\n",
      " 22% (61 of 270) |#####                  | Elapsed Time: 0:00:08 ETA:   0:00:27\n",
      " 26% (71 of 270) |######                 | Elapsed Time: 0:00:09 ETA:   0:00:25\n",
      " 30% (81 of 270) |######                 | Elapsed Time: 0:00:09 ETA:   0:00:23\n",
      " 33% (91 of 270) |#######                | Elapsed Time: 0:00:10 ETA:   0:00:21\n",
      " 37% (101 of 270) |########              | Elapsed Time: 0:00:11 ETA:   0:00:19\n",
      " 41% (111 of 270) |#########             | Elapsed Time: 0:00:12 ETA:   0:00:17\n",
      " 44% (121 of 270) |#########             | Elapsed Time: 0:00:13 ETA:   0:00:16\n",
      " 48% (131 of 270) |##########            | Elapsed Time: 0:00:14 ETA:   0:00:14\n",
      " 52% (141 of 270) |###########           | Elapsed Time: 0:00:15 ETA:   0:00:13\n",
      " 55% (151 of 270) |############          | Elapsed Time: 0:00:15 ETA:   0:00:12\n",
      " 59% (161 of 270) |#############         | Elapsed Time: 0:00:16 ETA:   0:00:11\n",
      " 63% (171 of 270) |#############         | Elapsed Time: 0:00:17 ETA:   0:00:10\n",
      " 67% (181 of 270) |##############        | Elapsed Time: 0:00:18 ETA:   0:00:09\n",
      " 70% (191 of 270) |###############       | Elapsed Time: 0:00:19 ETA:   0:00:07\n",
      " 74% (201 of 270) |################      | Elapsed Time: 0:00:20 ETA:   0:00:06\n",
      " 78% (211 of 270) |#################     | Elapsed Time: 0:00:20 ETA:   0:00:05\n",
      " 81% (221 of 270) |##################    | Elapsed Time: 0:00:21 ETA:   0:00:04\n",
      " 85% (231 of 270) |##################    | Elapsed Time: 0:00:22 ETA:   0:00:03\n",
      " 89% (241 of 270) |###################   | Elapsed Time: 0:00:23 ETA:   0:00:02\n",
      " 92% (251 of 270) |####################  | Elapsed Time: 0:00:24 ETA:   0:00:01\n",
      " 96% (261 of 270) |##################### | Elapsed Time: 0:00:25 ETA:   0:00:00\n",
      "100% (270 of 270) |######################| Elapsed Time: 0:00:26 ETA:  00:00:00\n",
      "100% (270 of 270) |######################| Elapsed Time: 0:00:26 Time:  0:00:26\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Finished backtest: 0:00:27\n"
     ]
    }
   ],
   "source": [
    "pybroker.register_columns('lundong')\n",
    "config = StrategyConfig(max_long_positions=10)\n",
    "strategy = Strategy(pyb_data_ld, '2018-02-22', '2019-04-01', config)\n",
    "strategy.add_execution(lundong_fuc, pyb_data_ld.symbol.unique())\n",
    "strategy.set_before_exec(rand_ld)\n",
    "result = strategy.backtest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>trade_count</td>\n",
       "      <td>2191.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>initial_market_value</td>\n",
       "      <td>100000.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>end_market_value</td>\n",
       "      <td>79861.04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>total_pnl</td>\n",
       "      <td>-20664.46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>unrealized_pnl</td>\n",
       "      <td>525.50</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   name      value\n",
       "0           trade_count    2191.00\n",
       "1  initial_market_value  100000.00\n",
       "2      end_market_value   79861.04\n",
       "3             total_pnl  -20664.46\n",
       "4        unrealized_pnl     525.50"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.metrics_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [],
   "source": [
    "# result.orders.head(40)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 198,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.14285714285714285"
      ]
     },
     "execution_count": 198,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "config = StrategyConfig(max_long_positions=7)\n",
    "pybroker.param('target_size', 1 / config.max_long_positions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 204,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rand_ld(ctxs: dict[str, ExecContext]):\n",
    "    #print(tuple(ctxs.values())[0].dt)\n",
    "    symbols=[]\n",
    "    ld=[]\n",
    "    for ctx in ctxs.values():\n",
    "        symbols.append(ctx.symbol)\n",
    "        ld.append(ctx.lundong[-1])\n",
    "    \n",
    "    v_rank=pd.DataFrame({\"symbol\":symbols,\"ld\":ld}).sort_values(by=\"ld\",ascending=False)\n",
    "    pybroker.param('symbols', v_rank.head(config.max_long_positions).symbol.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 205,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rotate(ctx: ExecContext):\n",
    "    if ctx.long_pos():\n",
    "        if ctx.symbol not in pybroker.param('symbols'):\n",
    "            ctx.sell_all_shares()\n",
    "    else:\n",
    "        ctx.buy_limit_price = ctx.close[-1] * 1.095\n",
    "        target_size = pybroker.param('target_size')\n",
    "        ctx.buy_shares = ctx.calc_target_shares(target_size)\n",
    "        ctx.score = ctx.lundong[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 206,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backtesting: 2018-02-22 00:00:00 to 2019-03-24 00:00:00\n",
      "\n",
      "Test split: 2018-02-22 00:00:00 to 2019-03-22 00:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  0% (0 of 264) |                        | Elapsed Time: 0:00:00 ETA:  --:--:--\n",
      "  0% (1 of 264) |                        | Elapsed Time: 0:00:01 ETA:   0:04:45\n",
      "  4% (11 of 264) |                       | Elapsed Time: 0:00:02 ETA:   0:00:58\n",
      "  7% (21 of 264) |#                      | Elapsed Time: 0:00:03 ETA:   0:00:37\n",
      " 11% (31 of 264) |##                     | Elapsed Time: 0:00:03 ETA:   0:00:28\n",
      " 15% (41 of 264) |###                    | Elapsed Time: 0:00:04 ETA:   0:00:25\n",
      " 19% (51 of 264) |####                   | Elapsed Time: 0:00:05 ETA:   0:00:22\n",
      " 23% (61 of 264) |#####                  | Elapsed Time: 0:00:06 ETA:   0:00:20\n",
      " 26% (71 of 264) |######                 | Elapsed Time: 0:00:06 ETA:   0:00:18\n",
      " 30% (81 of 264) |#######                | Elapsed Time: 0:00:07 ETA:   0:00:16\n",
      " 34% (91 of 264) |#######                | Elapsed Time: 0:00:08 ETA:   0:00:15\n",
      " 38% (101 of 264) |########              | Elapsed Time: 0:00:08 ETA:   0:00:14\n",
      " 42% (111 of 264) |#########             | Elapsed Time: 0:00:09 ETA:   0:00:12\n",
      " 45% (121 of 264) |##########            | Elapsed Time: 0:00:10 ETA:   0:00:11\n",
      " 49% (131 of 264) |##########            | Elapsed Time: 0:00:10 ETA:   0:00:10\n",
      " 53% (141 of 264) |###########           | Elapsed Time: 0:00:11 ETA:   0:00:09\n",
      " 57% (151 of 264) |############          | Elapsed Time: 0:00:12 ETA:   0:00:09\n",
      " 60% (161 of 264) |#############         | Elapsed Time: 0:00:12 ETA:   0:00:08\n",
      " 64% (171 of 264) |##############        | Elapsed Time: 0:00:13 ETA:   0:00:07\n",
      " 68% (181 of 264) |###############       | Elapsed Time: 0:00:14 ETA:   0:00:06\n",
      " 72% (191 of 264) |###############       | Elapsed Time: 0:00:15 ETA:   0:00:05\n",
      " 76% (201 of 264) |################      | Elapsed Time: 0:00:15 ETA:   0:00:04\n",
      " 79% (211 of 264) |#################     | Elapsed Time: 0:00:16 ETA:   0:00:04\n",
      " 83% (221 of 264) |##################    | Elapsed Time: 0:00:17 ETA:   0:00:03\n",
      " 87% (231 of 264) |###################   | Elapsed Time: 0:00:17 ETA:   0:00:02\n",
      " 91% (241 of 264) |####################  | Elapsed Time: 0:00:18 ETA:   0:00:01\n",
      " 95% (251 of 264) |####################  | Elapsed Time: 0:00:19 ETA:   0:00:01\n",
      " 98% (261 of 264) |##################### | Elapsed Time: 0:00:20 ETA:   0:00:00\n",
      "100% (264 of 264) |######################| Elapsed Time: 0:00:20 ETA:  00:00:00\n",
      "100% (264 of 264) |######################| Elapsed Time: 0:00:20 Time:  0:00:20\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Finished backtest: 0:00:21\n"
     ]
    }
   ],
   "source": [
    "pybroker.register_columns('lundong')\n",
    "strategy = Strategy(pyb_data_ld, '2018-02-22', '2019-03-24', config)\n",
    "strategy.add_execution(rotate, pyb_data_ld.symbol.unique())\n",
    "strategy.set_before_exec(rand_ld)\n",
    "result = strategy.backtest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 207,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>trade_count</td>\n",
       "      <td>760.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>initial_market_value</td>\n",
       "      <td>100000.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>end_market_value</td>\n",
       "      <td>9257.34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>total_pnl</td>\n",
       "      <td>-90663.46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>unrealized_pnl</td>\n",
       "      <td>-79.20</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   name      value\n",
       "0           trade_count     760.00\n",
       "1  initial_market_value  100000.00\n",
       "2      end_market_value    9257.34\n",
       "3             total_pnl  -90663.46\n",
       "4        unrealized_pnl     -79.20"
      ]
     },
     "execution_count": 207,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.metrics_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 208,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='date'>"
      ]
     },
     "execution_count": 208,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cash_value=result.portfolio.equity/100000\n",
    "cash_value.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## talib因子构建\n",
    "\n",
    "`talib.ROC` 是技术分析库 `TA-Lib` 中的一个函数，用于计算价格的变动率（Rate of Change，ROC）指标。变动率指标是一种技术分析工具，它通过比较当前价格与过去某一时期的价格，来衡量价格的变化速度和幅度，帮助投资者判断市场的买卖信号和趋势强度。\n",
    "\n",
    "### 计算公式\n",
    "ROC 指标的计算公式如下：\n",
    "$$ROC = \\frac{Close - Close_{n}}{Close_{n}} \\times 100$$\n",
    "其中：\n",
    "- `Close` 是当前的收盘价。\n",
    "- `Close_{n}` 是 `n` 个周期前的收盘价。\n",
    "- `n` 是计算 ROC 指标所使用的周期数。\n",
    "\n",
    "### 应用场景\n",
    "- **判断市场买卖信号**：当 ROC 指标从负数变为正数时，可能是买入信号；当 ROC 指标从正数变为负数时，可能是卖出信号。\n",
    "- **衡量市场趋势强度**：ROC 指标的绝对值越大，说明价格的变化速"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 194,
   "metadata": {},
   "outputs": [],
   "source": [
    "def factor(x):\n",
    "    return talib.ROC(x, timeperiod=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 195,
   "metadata": {},
   "outputs": [],
   "source": [
    "stock_daily0[\"roc\"]=stock_daily0.groupby(\"股票代码\", group_keys=False)[\"收盘价\"].apply(factor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 193,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.007828689845728674"
      ]
     },
     "execution_count": 193,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(43.09-43.43)/43.43"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 196,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>交易日期</th>\n",
       "      <th>收盘价</th>\n",
       "      <th>roc</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-10-13</td>\n",
       "      <td>43.43</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-10-14</td>\n",
       "      <td>47.77</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-10-15</td>\n",
       "      <td>43.09</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-10-16</td>\n",
       "      <td>41.94</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-10-19</td>\n",
       "      <td>39.45</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2020-10-20</td>\n",
       "      <td>39.12</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2020-10-21</td>\n",
       "      <td>40.12</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2020-10-22</td>\n",
       "      <td>38.68</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2020-10-23</td>\n",
       "      <td>37.40</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2020-10-26</td>\n",
       "      <td>37.62</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2020-10-27</td>\n",
       "      <td>37.56</td>\n",
       "      <td>-13.516003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2020-10-28</td>\n",
       "      <td>37.28</td>\n",
       "      <td>-21.959389</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2020-10-29</td>\n",
       "      <td>36.55</td>\n",
       "      <td>-15.177535</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2020-10-30</td>\n",
       "      <td>36.39</td>\n",
       "      <td>-13.233190</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2020-11-02</td>\n",
       "      <td>34.90</td>\n",
       "      <td>-11.533587</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>2020-11-03</td>\n",
       "      <td>35.45</td>\n",
       "      <td>-9.381391</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2020-11-04</td>\n",
       "      <td>35.58</td>\n",
       "      <td>-11.316052</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>2020-11-05</td>\n",
       "      <td>36.12</td>\n",
       "      <td>-6.618407</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2020-11-06</td>\n",
       "      <td>35.44</td>\n",
       "      <td>-5.240642</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>2020-11-09</td>\n",
       "      <td>36.94</td>\n",
       "      <td>-1.807549</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>2020-11-10</td>\n",
       "      <td>36.94</td>\n",
       "      <td>-1.650692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>2020-11-11</td>\n",
       "      <td>37.65</td>\n",
       "      <td>0.992489</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2020-11-12</td>\n",
       "      <td>37.08</td>\n",
       "      <td>1.450068</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>2020-11-13</td>\n",
       "      <td>36.77</td>\n",
       "      <td>1.044243</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>2020-11-16</td>\n",
       "      <td>38.80</td>\n",
       "      <td>11.174785</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>2020-11-17</td>\n",
       "      <td>38.70</td>\n",
       "      <td>9.167842</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>2020-11-18</td>\n",
       "      <td>40.06</td>\n",
       "      <td>12.591343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>2020-11-19</td>\n",
       "      <td>38.46</td>\n",
       "      <td>6.478405</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>2020-11-20</td>\n",
       "      <td>37.85</td>\n",
       "      <td>6.800226</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>2020-11-23</td>\n",
       "      <td>37.71</td>\n",
       "      <td>2.084461</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         交易日期    收盘价        roc\n",
       "0  2020-10-13  43.43        NaN\n",
       "1  2020-10-14  47.77        NaN\n",
       "2  2020-10-15  43.09        NaN\n",
       "3  2020-10-16  41.94        NaN\n",
       "4  2020-10-19  39.45        NaN\n",
       "5  2020-10-20  39.12        NaN\n",
       "6  2020-10-21  40.12        NaN\n",
       "7  2020-10-22  38.68        NaN\n",
       "8  2020-10-23  37.40        NaN\n",
       "9  2020-10-26  37.62        NaN\n",
       "10 2020-10-27  37.56 -13.516003\n",
       "11 2020-10-28  37.28 -21.959389\n",
       "12 2020-10-29  36.55 -15.177535\n",
       "13 2020-10-30  36.39 -13.233190\n",
       "14 2020-11-02  34.90 -11.533587\n",
       "15 2020-11-03  35.45  -9.381391\n",
       "16 2020-11-04  35.58 -11.316052\n",
       "17 2020-11-05  36.12  -6.618407\n",
       "18 2020-11-06  35.44  -5.240642\n",
       "19 2020-11-09  36.94  -1.807549\n",
       "20 2020-11-10  36.94  -1.650692\n",
       "21 2020-11-11  37.65   0.992489\n",
       "22 2020-11-12  37.08   1.450068\n",
       "23 2020-11-13  36.77   1.044243\n",
       "24 2020-11-16  38.80  11.174785\n",
       "25 2020-11-17  38.70   9.167842\n",
       "26 2020-11-18  40.06  12.591343\n",
       "27 2020-11-19  38.46   6.478405\n",
       "28 2020-11-20  37.85   6.800226\n",
       "29 2020-11-23  37.71   2.084461"
      ]
     },
     "execution_count": 196,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_daily0[stock_daily0[\"股票代码\"]==\"003001.SZ\"][[\"交易日期\",\"收盘价\",\"roc\"]].head(30)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "quant",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
